2011-08-05 66 views
1

在我的mysql數據庫中,我需要將特殊字符 轉換爲度符號。我在sql中嘗試了以下命令,但收到錯誤消息。將特殊字符轉換爲度符號

更新說明set NOTE_VALUE = replace(NOTE_VALUE,' ','°');

錯誤消息:

Illegal mix of collations (latin1_swedish_ci,IMPLICIT), (utf8_general_ci,COERCIBLE), (utf8_general_ci,COERCIBLE) for operation 'replace'. 

我需要將特殊字符轉換成度的符號。

任何幫助將不勝感激。

感謝

+0

什麼是您的專欄的類型/字符集? – nobody

+0

我只是將列整理更改爲utf8_general_ci。這是拉丁瑞典 – tanya

回答

1

你需要正確的值,但你應該能夠通過它的整數值來引用它char(146)

update NOTE set NOTE_VALUE = replace(NOTE_VALUE, char(XXX), '°'); 

其中XXX爲你需要弄清楚

本文可能是helpful

+0

謝謝你的建議,我試圖字符(186),但它似乎並沒有工作。 186是度字符的代碼 – tanya

0

可以看出there你可以嘗試更改表的核對(如果它不是一個問題)

ALTER table note convert to character set utf8 collate utf8_swedish_ci; 

您也可以嘗試char()方法同上,但與USING條款(link

提到
UPDATE NOTE set NOTE_VALUE = replace(NOTE_VALUE, char(XXX USING latin1_swedish_ci), '°');