0

文字列をMySQLDBテーブルに保存すると、json_encode/decode関数で問題が発生します。問題は、ÅÄÖのようなスウェーデンの文字にあります。のようなものがある場合

$my_arr = array('Räksmörgås');
$json = json_encode($my_arr):
print_r(json_decode($json)); 

それは問題なく動作します。問題は、私が言ったように、jsonstringをdbに保存してから、それらを収集するときです。テーブル(db全体)のエンコーディングは「utf8_general_ci」です。uft8_unicode_ci'も試しましたが、同じ結果で、出力は' Ru00e4ksmu00f6rgu00e5s'になります。この値を保存する列は「TEXT」です。

私は何が間違っているのですか?

編集、私はこれがワードプレスのプラグインであることを言及するのを忘れました、そして私は$ wpdb-> prepare()と$ wpdb-> query()を使用しています。

4

2 に答える 2

1

コードのどこかでスラッシュを削除しています。

// text: Räksmörgås
// json_encode(): R\u00e4ksm\u00f6rg\u00e5s
// your output: Ru00e4ksmu00f6rgu00e5s
于 2013-03-18T10:42:12.360 に答える
0

結果をフィールドBLOBではなく格納してみてください。TEXTデータを保存するために何を使用しましたか? PDO ? Mysqli ? Mysql ?

于 2013-03-18T10:43:23.723 に答える