2011-08-05 39 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), '°');