我的 mysql 数据库中有一个奇怪的 unicode char
值看起来像这样
card issuer bank didn<U+0092>t approve your payment
所以应该是撇号的是一个奇怪的unicode char,大概来自windows
我想替换它,但不知道如何在 SQL 中引用它
尝试了以下,不起作用:
替换(文本,转换(0x0092 作为字符集 utf8),'x')
0x0092
0x000x92
'\U+0092'
U'0x0092'
和大量其他组合,它们都不起作用
有任何想法吗?
此页面似乎与您要查找的内容非常接近,尽管具体值不同;0x0092 是十进制的 146,右 smartquote 的 Windows 代码。正如您将在链接中看到的那样,这相当于 UTF-8 中的 0xe28099 :)
总之:
...等等。
为什么不将其强制为您想要的?
update set = "发卡行未批准您的付款" where =;
如果其中有许多具有相同问题,也许将其捕获在代码中的插入处?
如果这仍然不可能,请尝试对列的整个值使用 convert() 函数。
转换(使用 utf8)
并且我已经通过十六进制编辑器运行了选择结果,以弄清楚到底是什么,所以事实证明它实际上是 0xc292,如此处所述。
为什么 linux 会将其显示为 U+0092 超出了我的范围