みんなに優しく、解りやすくをモットーに開設しています。 以下のルールを守りみんなで助け合いましょう。
1.ファイルメーカーで解らない事があればここで質問して下さい。 何方でも、ご質問・ご回答お願いします。 (優しく回答しましょう)
FMP16なら文字変換関数 (TextDecode()、TextEncode())
が新規追加されていますので、利用できます。
オフライン
「\u306f\u3058\u3081\u307e\u3057\u305f」
これは、16進数になっているので
「関数:TextDecode()」では、デコード出来ないですね。
「関数:HexDecode」が使えるかと思いうましたが、FileMakerの場合、UTF-8 になっているようで今回は使えません。
色々方法はあると思いますが、
プラグインを使った場合の例:
フィールド1 に「\u306f\u3058\u3081\u307e\u3057\u305f」がある場合。
フィールド設定 [フィールド名;
SMPS_Exe( "$HEXDATA=\"" & フィールド1 & "\";
$Result=$HEXDATA.Split(\"\u\") | FOREACH { [System.Convert]::ToChar([System.Convert]::ToInt32($_,16)) };
[string]::Join(\"\", $Result)" )
]
ScriptMakerPS | FileMaker Plugin for Windows : https://sites.google.com/site/scriptmakerps/
オフライン
>qb_dpさん
ありがとうございます!
プラグインで実現できるのですね!
実行してみたところしっかりと日本語で表示されました。助かりました。
ちなみに余談なのですが、APIで返ってきた大量のjsonの中では
"name":"\u306f\u3058\u3081\u307e\u3057\u305f"
となっているのですが、一度要素ごとにフィールドに取り分けてからプラグインで日本語にしていこうと思い、
JSONGetElement ( GETAPIフィールド ; "name" )
とフィールドに取り出したところ、なぜかプラグインでデコードせずとも日本語で入力されました。。。
オフライン