重视MySQL

时间:2016-06-22 12:18:06

标签: mysql sql unicode

我向dolibarr软件购买了一个模块,我遇到了数据库模块的问题。

我的sql文件如下:

INSERT INTO llx_accounting_account (rowid, fk_pcg_version, pcg_type, pcg_subtype, account_number, account_parent, label, active) VALUES (15009,'SYSCOHADA','CAPITAUX','XXXXXX','1022',15007,"Dotations compl�mentaires",'1');

在每一行的末尾,我会得到每一行的描述。例如,我到达那里:

  

“Dotationscompl mentaires”。

不幸的是,角色 应该是'é'。

我在模块中搜索了一下,然后找到了一个.lang文件。在这一个中,我有:

  

CHARSET = UTF-8

我的问题是:为什么我得到一些 字符而不是'é''等等......?

2 个答案:

答案 0 :(得分:1)

似乎文本文件使用编码但定义了另一个(可能是UTF-8与ISO-8859-1)。您可以使用某些命令行应用程序(如iconv)或一些简单的编辑器(如Notepad ++)来转换编码。

答案 1 :(得分:1)

尝试使用utf8 / utf8mb4时,如果您看到带有问号的黑钻石, 其中一种情况存在:

案例1(原始字节 utf8):

  • 要存储的字节不编码为utf8。解决这个问题。
  • SET NAMES INSERT的连接(或SELECT)不是utf8 / utf8mb4。解决这个问题。
  • 另外,检查数据库中的列是CHARACTER SET utf8(或utf8mb4)。

案例2(原始字节 utf8):

  • SET NAMES的连接(或SELECT)不是utf8 / utf8mb4。解决这个问题。
  • 另外,检查数据库中的列是CHARACTER SET utf8(或utf8mb4)。

只有在浏览器设置为<meta charset=UTF-8>

时才会出现黑钻石