「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@782) [中] [解決]
@782■ (#2461) JSONデコードにおいて「~」が文字化け - 小衣 (2015-10-26 19:38) /中 未処理
【症状】JSONデコードにおいて「~」が文字化けします。

【再現方法】
あとはハッシュ
あ@「nade」は「~」
あをJSONエンコードしてUTF8N変換してJSONデコードして表示

【要望】「~」で文字化けしないように修正お願いします。

【バージョン】1.553 デラックス


(#2462) JSONデコードにおいて「~」が文字化け - 小衣 (2015-10-26 20:35) /中 未処理
追記です。
JSONエンコードでは「~」が正常に変換できます。
JSONデコードでは変換できません。

あとはハッシュ
あ@「nade」は「~」
あ@「test」は「テスト」
あをJSONエンコードしてSJIS変換して表示
「{波カッコ}nade:"~",test:"テスト"{波カッコ閉じ}」をUTF8N変換してJSONデコードして表示


(#2468) Re: JSONデコードにおいて「~」が文字化け - うぇいく (2015-11-02 00:08) /中 未処理
もし、SJIS変換している文字列が、Windows上で作成しているWindows-31j(MS932)で書かれた文字列のことであるなら、文字コードが違います。
ローカルで使われること前提の関数は、SJISと指定されている場合には、実際にはwindows-31jと仮定することでうまく動きそうなのですが、外部のインターネット上から取得したものを処理する可能性が高いものは、そうとも限らないため、SJISと指定されている部分は、本来のShift_JISとして処理されています。

Sfhit_JISではなく、Windows-31jの文字列の場合には、「NKF変換」命令にて、入力・出力の両方の文字コードを明示的に指定してみてください。

(#2469) 文字コードを正しく指定したら正常でした - 小衣 (2015-11-02 17:26) /中 解決
ご指摘のとおり、入力の文字コードを正しく指定すると文字化けが解消しました。
具体性には、「UTF8N変換して」の部分を「SJIS_UTF8N変換して」と変更しました。
ありがとうございました。


(#2461)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能