PHP 在写数据插入数据库的功能,插入成功后数据库里中文显示乱码。。。

错II过 发布于 2014/03/17 14:08
阅读 1K+
收藏 0
PHP
  我用的是mysql 用  PhpMyAdmin创建的数据库,记得最初选编码的时候写的是UTF-8-bin  然后我的编程环境里都设的是UTF-8,Name字段定义的是varchar(8),  现在插入中文的时候数据库里就显示为乱码了— —  求解,这个问题我会收录到我的学习笔记里,以后就省得大家找了,网上找的解答都看不懂。。。
加载中
0
ththththht
ththththht

PHP Mysql配置都是utf-8, 但是建的库和表是gbk;

除了命令行查数据需要set names gbk外,其余没有问题。

不过谢谢提示。@梦梦阁

注:怎么设置client和connection, result为gbk这样我就不用每次set names gbk了?

错II过
错II过
回复 @業餘碼農 : 除了filesystem其他都是utf8了
ththththht
ththththht
回复 @错II过 : PHP是utf-8吧? 你现在Mysql是怎么配置编码的?
错II过
错II过
回复 @業餘碼農 : 天啊,我在数据库中直接插入中文没问题了,可是通过PHP页面写入中文为空— —
ththththht
ththththht
回复 @错II过 : 我已经知道了。配置文件 default-character-set=gbk 就等于set names gbk了。 设置成utf-8会乱码。 所以之前我才会每次命令行查询前set names gbk。
错II过
错II过
回复 @業餘碼農 : 修改mysql根目录下面的my.ini就能一劳永逸了,方法是 在该文件中查找[mysql] 添加default-character-set=utf8 查找[mysqld] 添加character-set-server=utf8 OK了
下一页
0
梦梦阁
梦梦阁
在数据库里面要设置成这个varchar(8)  utf8_general_ci
梦梦阁
梦梦阁
两边必须编码一致
错II过
错II过
我直接在数据库里修改数据了,现在不显示乱码 显示?了。。。
0
P
PGF_高峰
我也遇到过这种问题,我是在windows下遇到的,程序中不乱码,phpmyadmin和命令行中乱码,最后我在程序中把set names utf8改成了set names utf-8,然后就不乱码了。
0
ththththht
ththththht
我是所有都设置成utf-8,php读取插入都没问题,phpmyadmin也正常。 只有命令行查看时乱码。 set names gbk就没问题。
梦梦阁
梦梦阁
http://blog.csdn.net/pengxuan/article/details/6558028
ththththht
ththththht
不对,PHP用的utf-8, 数据库和表用的都是gbk; 但是Mysql配置文件定义database和default charset是utf-8,
梦梦阁
梦梦阁
show variables like ‘character_set_%’;查看一下代码的编码
0
错II过
错II过
十分感谢 我这边果断 OK了 谢谢@ 梦梦阁  谢谢@ 業餘碼農     ~
0
ththththht
ththththht

库和表建的时候是选gbk。PHP是utf8

@错II过

ththththht
ththththht
回复 @错II过 : Nice.
错II过
错II过
回复 @错II过 : 搞定了 我写的html页面的编码改为utf-8就OK了
错II过
错II过
还是为空。。。 你忙吧 我自己去查查资料了 3Q了
0
mmmw
mmmw
就是字符编码问题
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部