0

Mysql データベースに次のような値を保存する必要があります: Badaẖšan.
この特定のケースでは、DB は Badah?šan を保存しています。
私は Charset: UTF8 と Collat​​ion: 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 に設定されていました。
それが結果が壊れた理由です。
ご不便をおかけし、誠に申し訳ございません。
このスレッドは閉じることができます。

4

0 に答える 0