mysql - 如何在 MySQL 中查找非 ASCII 字符?

标签 mysql character-encoding

我正在使用一个 MySQL 数据库,其中有一些数据是从 Excel 导入的.数据包含非 ASCII字符(破折号等)以及隐藏的回车符或换行符。有没有办法使用 MySQL 查找这些记录?

最佳答案

MySQL 提供了全面的字符集管理,可以帮助解决此类问题。

SELECT whatever
  FROM tableName 
 WHERE columnToCheck <> CONVERT(columnToCheck USING ASCII)

CONVERT(col USING charset) 函数将不可转换的字符转换为替换字符。那么,转换后和未转换的文本将不相等。

有关更多讨论,请参阅此处。 https://dev.mysql.com/doc/refman/8.0/en/charset-repertoire.html

您可以使用您希望的任何字符集名称代替 ASCII。例如,如果您想找出代码页 1257(立陶宛语、拉脱维亚语、爱沙尼亚语)中哪些字符无法正确呈现,请使用 CONVERT(columnToCheck USING cp1257)

关于mysql - 如何在 MySQL 中查找非 ASCII 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31617581/

相关文章:

在 Maven 构建单元测试中(在 Windows 上),Java XMLStreamWriter 将 '£' 序列化为不同的字节数据

mysql - 字符串比较在数据库、文件中不起作用......字符集可能是一个问题吗?

php - preg_replace PREG_BAD_UTF8_ERROR

javascript - 使用 Nodejs Web 服务器但没有框架对用户进行身份验证

mysql - 从 SELECT 查询中排除起始词

Python:从 ISO-8859-1/latin1 转换为 UTF-8

vb6 - 在 VB6 中运行时确定给定 LCID 的正确字符集的最佳方法是什么?

mysql - 如何在mysql中使用IF ELSE条件

java - 如何让 JOOQ 同时生成枚举类型和自定义类型?

mysql - 如何 LEFT JOIN table1 ON table2 WHERE table2 行满足某些条件