Mysql
在 mysql 提示符或一般 SQL 中如何引用 unicode 字元?
我的 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 :)
總之:
此程式碼應同時使用 Windows-1252 字元集和 UTF-8,這是一種具有擴展字元集的編碼,使其成為電子郵件和網站的首選編碼。
UPDATE `t` SET `c` = REPLACE(`c`, 0xE28098, "'"); UPDATE `t` SET `c` = REPLACE(`c`, 0xE28099, "'"); UPDATE `t` SET `c` = REPLACE(`c`, 0xE2809C, '"'); UPDATE `t` SET `c` = REPLACE(`c`, 0xE2809D, '"');
…等等。
為什麼不將其強制為您想要的?
update set = “發卡行未批准您的付款” where =;
如果其中有許多具有相同問題,也許將其擷取在程式碼中的插入處?
如果這仍然不可能,請嘗試對列的整個值使用 convert() 函式。
轉換(使用 utf8)