我有一个表在我的数据库,我想运行像转换输出为utf8
SELECT column1, column2 FROM my_table WHERE my_condition;
查询,但我想了MySQL在utf8编码返回column2
。是否有任何在mysql中执行此类任务的功能?那是什么?
我有一个表在我的数据库,我想运行像转换输出为utf8
SELECT column1, column2 FROM my_table WHERE my_condition;
查询,但我想了MySQL在utf8编码返回column2
。是否有任何在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;
比我在其他地方找到的答案要好得多。官方文档对这个问题的回答是一个完整的笑话:“SELECT CAST(_latin1'test'AS CHAR CHARACTER SET utf8);”为什么不在变量名中添加更多的错误符号? – HoldOffHunger
SELECT CONVERT(CAST(column as BINARY) USING utf8) as column FROM table
谢谢你救了我的一天:) –
谢谢!拯救我的一天! – Portekoi
增加:
当使用MySQL 客户端库,那么你应该避免转换回你连接的默认字符集。 (见mysql_set_character_set()
[1])
在这种情况下,使用一个额外的强制转换为二进制:
SELECT column1, CAST(CONVERT(column2 USING utf8) AS binary)
FROM my_table
WHERE my_condition;
否则,SELECT
语句转换为UTF-8,但是你的客户端库转换回一个(可能不同)默认连接字符集。
尝试'SELECT column1,CONVERT(column2 USING utf8)...' –