レコード 1 | 255 0 | 2011-08-15 0 | が文字化けしています。バックグラウンドでデータベースのデータを変更することができず、php を使用してデータベースを確認し、取得したデータを JSON 文字列に変換すると、文字化けを含む JSON 文字列を解析すると、フロントエンドがエラーを報告します。 json を使用する 検証ツールも 16 行目の解析エラーに失敗します:
... "dpi": "A Mang? Hao Gai εshinッヅ? Chao? Ga?? Imitation?",
------ ---- ------------^
'STRING'、'NUMBER'、'NULL'、'TRUE'、'FALSE'、'{'、'[' が必要です
があります他のデータベースでは文字化けしないのが正常です。現在の問題は、バックグラウンドから渡す文字化けした文字を含む json 文字列によってフロントエンド js がエラーを報告し、ユーザーの使用に影響を与えることです。エラーを報告せずに json を表示し続ける方法はありますか。 ?
エンコードは gb2312 ですか?
ajax を使用しましたか?
1. データベースにも文字化けが見られますか?そうでない場合、それは何ですか?
2. エラーを回避するだけで十分ですか?
エンコードは gb2312 ですか?
ajax を使用しましたか?
HTML ページは utf8 を使用し、データベースは mysql charset=latin1 を使用して、変換された結果はデータベースと一致します。コマンドラインで同じものを選択します
2. エラーを回避するだけで十分ですか?
データベースに文字化けがあります。これは、トランスコーディングの問題か、json を使用して渡したときに文字化けしたデータ自体が取り出されたかのどちらかです。解析のためにフロントエンド js に送信すると、エラーが発生します。 つまり、文字化けが表示されるためには、データベースとの一貫性が必要であるだけです。
2. エラーレポートを回避するだけで十分ですか?
{ "id": 1936,
"name": "220kV バスバー保護 IRCS915AB",
"ft": 11,
"dpi t」: 4、
“dpi” ": "$ ? 韫?",
"time": "2011-08-17 09:16:04",
"info": "3_20110817091604.txt"
}
js を d に解析するとこうなりますwhen pi 不正な文字エラーを報告します
読み取ったデータの bas64 エンコーディングを投稿します
変数 $s を読み取るなど、文字化けしたレコードを読み込みます
次に echobase64_encode($s) を実行します
結果を投稿します
;
読み取ったデータの bas64 エンコーディングは、
その後、base64_encode($s) を実行します
結果を投稿します
usingbase64_encode(mb_convert_encoding($string) , 'utf-8', 'gbk')):
JAMF56KeCwjpn6s/YQ0FCAE=
Base64_encode($string) の結果のみが必要です
トランスコードするとシーンは破壊されます
Base64_encode の結果のみが必要です($string) 結果
トランスコードするとシーンは破棄されます
申し訳ありませんが、今処理したものは mysql クラスで自分で自動的に処理しました
これはトランスコードされていません JAOyBbROCwjouay/YQ0FCAE=
結果だけが欲しいですBase64_encode($string) の
トランスコードするとシーンが壊れます。エスケープしてください。
Base64_encode($string) の結果のみが必要です
トランスコードするとシーンが破壊されます
JSON 文字列に不正な文字が含まれていることを確認し、それらをエスケープしてください。
逃げる方法