Heim  >  Artikel  >  Backend-Entwicklung  >  Was soll ich tun, wenn PHP keine chinesischen Daten in die Datenbanktabelle schreiben kann?

Was soll ich tun, wenn PHP keine chinesischen Daten in die Datenbanktabelle schreiben kann?

王林
王林Original
2021-09-27 18:23:392169Durchsuche

php无法将中文数据写入数据库表的解决方法:1、将mysql所用字符集修改为utf8;2、将php文件编码所用字符集改为utf-8;3、将前台网页所用字符编码修改为utf-8。

Was soll ich tun, wenn PHP keine chinesischen Daten in die Datenbanktabelle schreiben kann?

本文操作环境:windows10系统、php 7&&mysql 5.0、thinkpad t480电脑。

在学习PHP的过程中我们可能会遇到无法将中文数据插入数据表的情况,以及前台网页无法正确显示从数据库中获取的中文数据的情况。遇到这种问题我们需要将mysql所用字符集修改为utf8,PHP文件编码所用字符集改为utf-8,前台网页所用字符编码改为utf-8,这样就可以解决问题了。

具体步骤如下:

1. 运行MySQL安装目录下的MySQLInstanceConfig.exe,配置默认编码为utf8;

记得选择“Best Support For Multilingualism”,同时在下面的下拉列表中选择“utf8”

配置完成后,检查MySQL安装路径下的my.ini文件中“default-character-set”的设置,此时应该是已经设置为utf8了,如果不是,则设置为default-character-set=utf8

2.1 在创建数据库时指定utf8编码:

CREATE  DATABASE  database_name
CHARACTER  SET  “utf8”
COLLATE  “utf8_general_ci”;

2.2 在创建数据表时指定utf8编码:

CREATE  TABLE  table_name
(
Column_name  datatype,
......
)ENGINE=InnoDB  DEFAULT  CHARSET=utf8;

3. 将文件编码设置为utf-8;

如果用的是PhpStorm,则其默认的文件编码就是utf-8,不用更改

4.设置页面所用字符集为utf-8:

5.在对数据进行操作之前应该先进行mysql_query('set names utf8'); 操作,然后再执行对数据的查询,更新,插入等 。

6.最后将客户端来源数据使用的字符集,查询结果字符集设置为gbk,:

SET character_set_client =gbk;   //直接从MySQL命令行客户端插入中文数据时,存储数据不会乱码

SET character_set_results =gbk;    //从MySQL命令行客户端查看返回的中文数据不会乱码

PS:上述内容是针对于MySQL Server 5.0的,在MySQL Server 5.6 中其默认的所有所用的字符编码都是utf8

推荐学习:php培训

Das obige ist der detaillierte Inhalt vonWas soll ich tun, wenn PHP keine chinesischen Daten in die Datenbanktabelle schreiben kann?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn