CONVERT功能无法正常工作

时间:2017-08-11 15:48:00

标签: mysql mariadb

在我的localhost我有Mysql 5.7,在我的服务器中我有MariaDB 10.2.7。

我有一些json字段,我希望按json值中的一个字段对记录进行排序,我在google和stackoverflow中搜索,因此我使用此查询:

SELECT id , CONVERT(JSON_EXTRACT(name, '$."fa-IR"') USING utf8) COLLATE utf8_persian_ci AS cName FROM `users` ORDER BY cName ASC

示例数据:

id   |   Name    
-----+-------------------
1    | {"fa-IR":"\u062a\u0633\u062a","en-US":"Test"}

此函数在我的localhost(MySQL)中没有任何问题但在服务器(MariaDB)中无法正常工作我的意思是我的记录无法正确排序并显示分解!

1 个答案:

答案 0 :(得分:0)

不要将Unicode提供给MySQL。尤其不适用于\u

在您的客户端使用UTF-8编码,然后将MySQL配置为使用utf8(或utf8mb4)。

请参阅http://stackoverflow.com/questions/38363566/trouble-with-utf8-characters-what-i-see-is-not-what-i-stored

中的“最佳做法”