0

サーバーにいくつかの情報 (JSON として返される)、特に名前のリストを照会していますが、それらの名前の 1 つに奇妙な文字が含まれています。

ÐемањаМатеÑ~ић</p>

これは、次のようになります。

НемањаМатејић

私は次のことを試しました:

  • 文字列から BOM (バイト オーダー マーク) を削除します (そうしないと、PHP は JSON をデコードしません) json_decode
  • UTF8 照合でフィールドを使用する。

... 役に立たない - データベースの値にはまだ欠陥があります。

これを解決するには?

編集:

ランニングSHOW VARIABLES LIKE '%character%'リターン

character_set_client    utf8
character_set_connection    utf8
character_set_database  utf8
character_set_filesystem    binary
character_set_results   utf8
character_set_server    latin1
character_set_system    utf8
character_sets_dir  /data/mysql/fuentez/share/mysql/charsets/

character_set_server が latin1 であるためでしょうか?

4

2 に答える 2

1

UTF-8 ではなくlatin1としてデータベースにデータを保存しました。

たとえば、еlatin1 としてエンコードされ た文字列0xd0 0xb5は、キリル文字の UTF-8 エンコードになりеます。

于 2012-08-05T11:07:10.987 に答える