在MYSQL中替换非ASCII字符

11

为了将非ASCII字符转换为ASCII字符,我使用了以下查询

UPDATE tablename
SET columnToCheck = CONVERT(columnToCheck USING ASCII)
 WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)

它将非ASCII字符替换为替换字符。但是否可能将这些非ASCII字符替换为空格。

我尝试了一些选项,但它们没有起作用。有什么建议吗?


1
我来这里是为了寻找你在初始问题中发布的查询。谢谢! - Steven
1个回答

14

试试这个

UPDATE tablename
SET columnToCheck = REPLACE(CONVERT(columnToCheck USING ascii), '?', '')
WHERE ...
或者
update tablename
set columnToCheck = replace(columnToCheck , char(146), '');

参考资料


4
如果数据库采用UTF8编码(mysql默认),第一段代码会删除所有带重音符号的字符,这可能是不想要的结果。 - villamejia

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接