我有一個表在我的數據庫,我想運行像轉換輸出爲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)...' –