2018年12月26日水曜日

FileMaker cURL 日本語ファイル名のファイルを読み込み。


FileMaker cURL 日本語ファイル名のファイルを読み込み。

OS:Windows
FileMaker 16以降

Windowsの場合、
スクリプト:URL から挿入 では、「file:///」プロトコルで日本語ファイル名のローカルファイルにアクセスできません。
ファイルパスをshift_jisでURLエンコードすれば、読み込み可能になります。


変数を設定 [$text; 値: "D:\!TEMP\名称未設定.txt"]
変数を設定 [$WinPathUrlEnc; 値:
Let(
[
   $txt = HexEncode ( TextEncode ( $text ; "shift_jis" ; 1 ) ) ;
   $pos = Length ( $txt ) - 1 ;
   $fnc=
      "Case ( $pos < 0 ; $txt ;
         Let(
         [
            $txt = Replace ( $txt ; $pos ; 0 ; \"%\" ) ;
            $pos = $pos - 2
         ];
            Evaluate($fnc))
      )"
];
   Evaluate($fnc)
)
]
URL から挿入 [選択; ダイアログあり:オフ; cURL::Result; "file:///" & $WinPathUrlEnc; URL を自動的にエンコードしない]



※SHIFT-JISでURLエンコードする再帰式は、以下で Shinさんが書いたものです。
初心者のFileMaker pro Q&A
https://fm-aid.com/bbs2/viewtopic.php?pid=50129#p50129

0 件のコメント:

コメントを投稿