php数据库汉子 php文本数据库

php将汉字写入数据库问题

你建立的表字段的编码是什么编码呢?mysql的编码分为两种,一种是客户端编码,这个可以通过set names GBK(utf8);来改变;这句话的意思是告诉mysql服务器,你的客户端使用的是什么编码。另一种是数据在库中存储时使用的编码,这个编码可以在安装mysql建立数据库,建立表的时候选择,以建表时的选择为最后标准,若果没选择,默认继承安装时的选择。你说的插入成功却是空行的原因,可能是因为安装时选择的编码里面,对汉字的编码支持的太少,因此出现这样的情况,建议:show create table table_name;查看下建表语句中的字符集。最好修改成utf8。这样适应能力强一些!

成都创新互联公司-专业网站定制、快速模板网站建设、高性价比漳州网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式漳州网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖漳州地区。费用合理售后完善,十多年实体公司更值得信赖。

用PHP从数据库中取出的中文是乱码,怎么处理能使中文正常显示?

数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK");或mysql_query("SET NAMES GB2312");来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:mysql_query("SET NAMES UTF8"); 注意是UTF8而不是一般用的UTF-8。假如页面申明的编码与数据库内部编码一致可以不设定连接编码。

事实上MYSQL配置文件my.ini中定义了2个默认编码,分别是[client]里的default-character-set和[mysqld]里的default-character-set来分别设定默认时候客户端连接和数据库内部所采用的编码。上面指定的编码其实是MYSQL客户端连接服务器时候的命令行参数character_set_client,来告诉MYSQL服务器接受到的客户端数据是什么编码的,而不是采用默认编码。

转自:

用PHP向mysql数据库中写入中文汉字为什么显示不出来?我已经设置成gb2312了

你说的该数据库配置文件吧?

windows

是在mysql安装目录下的my.ini

linux下/etc/my.cnf

[mysqld]

下面增加

default-character-set

=

utf8

你要改成

default-character-set

=

gb2312

都行

重启mysql


网页名称:php数据库汉子 php文本数据库
路径分享:http://scyanting.com/article/dossjdo.html