作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在古希腊单词的 MySQL 数据库中,我想查找字母下方带有点的字符的所有单词(Unicode 字符“COMBINING DOT BELOW”(U+0323))并将其删除。
我尝试了各种编码,但似乎都不起作用......
最佳答案
我假设表t
中有一个列col
,并且col
是CHARACTER SET utf8
(或 utf8mb4)。
SELECT ...
FROM t
WHERE HEX(col) REGEXP '^(..)*CCA3'
将找到所有带有 U+0323
的行(编码为 UTF-8 CCA3
)。
唉,没有简单的方法可以在 SQL 中修改 col
。
如果您有 MariaDB,那么 UNHEX(REGEXP_REPLACE(HEX(col), 'CCA3', ''))
几乎可以工作。问题是它可能未对齐(在奇怪的边界处)。
另一个想法:REPLACE(col, UNHEX('CCA3'), '')
可能适用于 MySQL 或 MariaDB。但是,它可能会遇到排序规则问题。所以,也许这会起作用:REPLACE(col COLLATE utf8_bin, UNHEX('CCA3'), '')
关于mysql - 如何在 MySQL 中搜索组合(非空格)字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46204422/
我是一名优秀的程序员,十分优秀!