データベースにテーブルがあり、次のようなクエリを実行したい
SELECT column1, column2 FROM my_table WHERE my_condition;
column2
しかし、mysqlがutf8エンコーディングで返すようにしたい。そのようなタスクを実行するのはmysqlの関数ですか? それは何ですか?
CAST と CONVERT を使用して、異なるタイプのエンコーディングを切り替えることができます。参照: http://dev.mysql.com/doc/refman/5.0/en/charset-convert.html
SELECT column1, CONVERT(column2 USING utf8)
FROM my_table
WHERE my_condition;
添加:
MySQLクライアント ライブラリを使用する場合は、接続のデフォルトの文字セットへの変換を防止する必要があります。( mysql_set_character_set()
[1]を参照)
この場合、バイナリへの追加のキャストを使用します。
SELECT column1, CAST(CONVERT(column2 USING utf8) AS binary)
FROM my_table
WHERE my_condition;
それ以外の場合、SELECT
ステートメントは utf-8 に変換されますが、クライアント ライブラリによって (異なる可能性がある) デフォルトの接続文字セットに変換されます。