为什么我用php打开文件用echo 输出文件的内容出现乱码?

最近学习php遇到乱码问题头疼,还有连接数据库的时候,表单里的数据是中文就不能插入到数据库中,或者就是乱码。谁能帮帮忙,谢谢!... 最近学习php遇到乱码问题头疼,还有连接数据库的时候,表单里的数据是中文就不能插入到数据库中,或者就是乱码。谁能帮帮忙,谢谢! 展开
 我来答
Kindpire
推荐于2016-02-14 · 超过16用户采纳过TA的回答
知道答主
回答量:47
采纳率:0%
帮助的人:0
展开全部
1.查询之前加这条语句可以解决乱码问题:
mysql_query("set names 'gb2312'");

2.导致编码不正确的几种原因:
mysql数据库默认的编码是utf8,如果这种编码与你的PHP网页不一致,可能就会造成MYSQL乱码.
MYSQL中创建表时会让你选择一种编码,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
MYSQL创建表时添加字段是可以选择编码的,如果这种编码与你的网页编码不一致,也可能造成MYSQL乱码.
用户提交页面的编码与显示数据的页面编码不一致,就肯定会造成PHP页面乱码.
如用户输入资料的页面是big5码, 显示用户输入的页面却是gb2312,这种100%会造成PHP页面乱码.
PHP页面字符集不正确.
PHP连接MYSQL数据库语句指定的编码不正确.
3.解决方法:
mysql+php产生乱码的解决办法:

如果安装mysql的编码已不能更改,很多朋友是购买虚拟主机建立网站,无权更改MYSQL的安装编码,这一关我们可以跳过,因为只要后面的步聚正确,一样能解决乱码问题

修改数据库编码,如果是数据库编码不正确,可以在phpmyadmin 执行如下命令:

ALTER DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是将test数据库的编码设为utf8.

修改表的编码:
ALTER TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

以上命令就是将一个表category的编码改为utf8.

参考资料: http://hi.baidu.com/20080512228/blog/item/32ee9d8b14542914c9fc7a2f.html

接南烟2L
2009-05-08 · TA获得超过140个赞
知道小有建树答主
回答量:355
采纳率:0%
帮助的人:250万
展开全部
最好网页编码使用UTF-8。
如果不是UTF-8,连接数据库时使用
mysql_query("set names gb2312")设置客户端字符集。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
小李无刀
2009-05-08 · TA获得超过6359个赞
知道大有可为答主
回答量:8829
采纳率:78%
帮助的人:5011万
展开全部
编码问题嘛,字符编码使用为GB2312就OK了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式