2011-03-30 46 views

回答

4

你可以使用SET NAMES指定的請求編碼。 MySQL在將它們發送到客戶端之前轉換爲對所有字符串進行編碼。

請注意,在MySQL部分,字符集和歸類保持不變,所以在使用它們時要小心,因爲在返回給客戶端之前它們不會是UTF8。

+0

我真的很愚蠢!))我一直在尋找這個命令時間,無法理解,爲什麼它不適合我?看起來像錯誤是在我的DNA代碼中))我在「SET NAMES」子句中指定了表默認字符集,而不是目標字符集(utf8) – heximal 2011-03-30 11:17:06

0

SELECT CONVERT(your_column_name AS UTF8)FROM your_table

+0

這很好,但不完全是我的意思。由於某些原因,我無法修改SQL查詢。我正在尋找最簡單的解決方案。就像'在我的原始查詢之前執行一些quety'SET RESULT CHARSET utf8',它會將所有char數據轉換爲utf8' – heximal 2011-03-30 11:07:20

+0

@heximal它被稱爲'SET NAMES' :)。請參閱我的回覆中的鏈接。即使您將SELECT轉換爲UTF8,它也會進一步轉換爲將連接編碼發送給客戶端之前的任何連接編碼。只有在查詢部分使用字符串時才應使用CONVERT。 – 2011-03-30 11:08:47

+0

爲什麼不交換用於解析數據集的底層語言的編碼呢? – 2011-03-30 11:09:44

相關問題