デフォルトの文字セット utf8 で新しいテーブルを作成しました。次に、マルチバイトの char 文字列をいくつか挿入します。
mysql> insert into table1 (val,val1,val2) values ("aaaéfff poeuo","asdf","asdf");
挿入はエラーなしで行われます。この行を選択すると、値がval1
「aaa」に切り捨てられます。列val
は varchar(40) として定義されます。
なぜmysqlがutf8文字を取らないのか理解できません。
ここで説明されているように、デフォルトの文字セットを設定しました: my.cnf で MySQL のデフォルトの文字セットを UTF-8 に変更しますか? .
入力show variables like 'char%';
すると、すべてがutf8モードになります。
何が間違っている可能性がありますか?