我使用PHP在letters
中的database1.table1
字段中new_letters
字段向database2.table2
字段插入了一些数据,但所有值都更改为{{1}等问号1 {}在????? ?????? ????? ??????? ?? ??? ???? ????? ?????
字段中。 new_letters
的结构是(Type:longtext,Collation:utf8_general_ci),letters
的结构是(Type:mediumtext,Collation:utf8_unicode_ci)。另外,我需要提一下,即使将两个排序规则更改为utf8_unicode_ci或utf8_general_ci也无法解决问题。你能告诉我这是什么问题吗?
答案 0 :(得分:4)
您需要确保整理和字符集一致。例如,您有两种不同的排序规则(utf8_general_ci
和utf8_unicode_ci
),因此您应将它们转换为相同的排序规则。我相信UTF-8支持阿拉伯字母。
所以,CHARACTER SET utf8和COLLATE utf8_general_ci
答案 1 :(得分:1)
您需要确保从连接,数据库到表的整个链都是UTF8清理。我对a similar question here有详细的解答。
但在您的情况下,请检查实际的MySQL服务器my.cnf
文件。以下将整个链设置为UTF-8:
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
collation-server = utf8_unicode_ci
init-connect='SET NAMES utf8'
character-set-server = utf8