我有一个带有聊天系统的网站。此聊天系统具有一个表“ messages”,其中一列是“ messagetext”,设置为utf8_general_ci(MySQL)。在我的网站上,我使用php查询数据库。结果还可以。
在我的应用程序中,我将NodeJS用作后端,但结果是这样的:“ ÎσδÎÏσΔ。此列中存储有希腊语。
我尝试过iconv-lite,iconv,utf8,解码Json。
我的想法是,在网站上它从列和解码到utf8都获得了“α-β-β”的值,这就是我如何看到正确的结果的原因。但是在应用程序中不会发生这种情况,结果是值而不是实际的单词。
我该怎么办?
答案 0 :(得分:0)
我在这里闻到了mysql配置问题。尝试使用utf8mb4_unicode_ci
代替utf8_general_ci
。 Here您可以找到有关原因的更多信息。
这是my.cnf
,当我需要扩展拉丁字符时,可能会有用。
[client]
default-character-set = utf8mb4
[mysql]
default-character-set = utf8mb4
[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci