Mysql データベースに次のような値を保存する必要があります: Badaẖšan.
この特定のケースでは、DB は Badah?šan を保存しています。
私は Charset: UTF8 と Collation: utf8_unicode_ci を使用しています。
正しい値を格納するには、どの文字セット/照合順序を使用する必要がありますか?
編集:
私はコードイグナイターを使用しています。
構成:
$db['default']['char_set'] = 'utf8';
$db['default']['dbcollat'] = 'utf8_general_ci';
コード。
$this->db->query("INSERT INTO region (country_name) VALUES ('Badaẖšan')");
戻り値:
Badah?šan
MySQL GUI ツール SQLyog を使用してクエリを実行します。
INSERT INTO `region` (country_name) VALUES ('Badaẖšan')
警告を返します:
Warning Code : 1366
Incorrect string value: '\xCC\xB1\xC5\xA1an' for column 'country_name' at row 1
もう一度、挿入される値は次のとおりです。
Badah?šan
EDIT2:
問題が解決しました。
テーブルには正しい文字セットが含まれていましたが、列は latin1 に設定されていました。
それが結果が壊れた理由です。
ご不便をおかけし、誠に申し訳ございません。
このスレッドは閉じることができます。