Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/254.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何在mysql数据库中以UTF-8格式保存数据?_Php_Mysql_Unicode_Utf 8_Character Encoding - Fatal编程技术网

Php 如何在mysql数据库中以UTF-8格式保存数据?

Php 如何在mysql数据库中以UTF-8格式保存数据?,php,mysql,unicode,utf-8,character-encoding,Php,Mysql,Unicode,Utf 8,Character Encoding,我的中有一个元素,用来将阿拉伯语文本保存到mysql数据库中 我已经将页面的字符集设置为,我还在标记中设置了接受字符集=“UTF-8”。我已经将数据库中列的排序规则设置为utf8\u unicode\u ci 但每当我提交表单时,我的数据库都会像这样保存阿拉伯语文本: 而不是像这样保存: 我使用php作为我的后端。有人能告诉我哪里出了问题吗 第一种解决方案: 1-请转到phpmyadmin 2-投入运行 3-在集合中选择“utf8\U常规\U ci”,然后单击go 从现在起,所有数据都将正确存储

我的
中有一个
元素,用来将阿拉伯语文本保存到mysql数据库中

我已经将页面的字符集设置为
,我还在
标记中设置了
接受字符集=“UTF-8”
。我已经将数据库中列的
排序规则设置为
utf8\u unicode\u ci

但每当我提交表单时,我的数据库都会像这样保存阿拉伯语文本:

而不是像这样保存:

我使用php作为我的后端。有人能告诉我哪里出了问题吗

第一种解决方案:

1-请转到phpmyadmin

2-投入运行

3-在集合中选择“utf8\U常规\U ci”,然后单击go

从现在起,所有数据都将正确存储

第二个解决方案: 您可以使用以下代码来标准化与数据库的连接,并记录信息,以便在没有问题的情况下,通信从一开始就是unicode或utf8标准的

请注意,此方法是解决波斯语或阿拉伯语问题的最佳方法之一,您将不再需要担心波斯语或阿拉伯语字母

mysqli_query(“SET CHARACTER SET utf8″);
第三种解决办法: 您可以像前面的方法一样,将此代码放在PHP代码的开头,这样您就不会有在MySQL中显示波斯语或阿拉伯语字母的问题

header('Content-Type: text/html; charset=utf-8');
我的朋友,我希望这个答案能帮助你查看不要使用
mysql.*
界面中的“Mojibake”。而是使用
mysqli.*
PDO
api。