我们有一些使用拉丁字符集而不是UTF-8设置的表,它允许将坏字符输入到表中,通常的罪魁祸首是人们从Word或Outlook复制/粘贴这些令人讨厌的隐藏字符...
我们可以使用任何查询来识别这些字符以清除它们吗?
谢谢,
答案 0 :(得分:0)
我假设您填写数据后,您的连接字符集设置为UTF8
。
MySQL
用?
(问号)替换不可转换的字符:
SELECT CONVERT('тест' USING latin1);
----
????
问题在于区分合法问号与非法问号。
通常,单词开头的问号是一个坏符号,所以这个:
SELECT *
FROM mytable
WHERE myfield RLIKE '\\?[[:alnum:]]'
应该是一个良好的开端。
答案 1 :(得分:0)