您现在的位置: 365建站网 > 365文章 > 怎样解决PHP中文乱码问题

怎样解决PHP中文乱码问题

文章来源:365jz.com     点击数:1529    更新时间:2009-11-13 23:25   参与评论

最近在CSDN刚开了这个博客,没什么时间把以前写的文章搬过来,只能有空慢慢来了。

 --------------------------这篇文章仅献给那些一直在PHP乱码问题上困惑的人。

A.首先说下HTML中文乱码问题的解决方法。
比如有个index.html的页面(这里是指真正的静态页面,修改服务器的……伪静态的请看方案B)
1.在head标签里面加入这句

2.将文件的编码存为UTF-8.记事本或Editplus等编辑器都有保存时选择编码的功能

B.HTML和PHP混合的页面解决方案。
除了A方案说的那些之外。还要在文件的最上面加上下面这句代码。

注意header前面不要有任何的输出(echo/print/print_r/var_dump等PHP的输出语句,或者是你在“<?php”前面回车/空格)。否则会报错。
如果你用系统自带的Notepad保存为UTF-8编码的文件时会报错。
为什么呢?明明header已经写在最前面了。
不要着急,因为你看到的并不是真实的。实际上你的“<?php”标签前面已经存在了3个可恶的‘东东’,但普通编辑器看不到。如果你用UltraEdit打开并切换到16进制模式可以看到前面多了“EF BB BF”。这是跟Windows识别编码的方式有关。但我们的Apache却不认识这个,把它当成了输出。导致header出错。别怕,还是有解决的方法。
很简单,直接使用Editplus保存为UTF-8即可。因为Editplus的UTF-8是去除了BOM的。

C.纯PHP页面的中文乱码解决方案(数据是静态的)
只要在页面的开始加上

然后保存为UTF-8编码的文件即可。注意和方案B一样。注意用那些去除BOM的编辑器保存。否则还是会报错。

D.PHP+Mysql中文乱码解决方案
除了按方案C那样的做法外,还要在你的数据查询/修改/增加之前加入数据库编码。

注意这里的UTF8和之前的不一样。中间没有横线。
通过以上应该就能解决PHP中文乱码的问题了。呼呼~~

*注:如果你对BOM有疑问或有兴趣可以到百度百科搜索。

如对本文有疑问,请提交到交流论坛,广大热心网友会为你解答!! 点击进入论坛

发表评论 (1529人查看0条评论)
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
昵称:
最新评论
------分隔线----------------------------

快速入口

· 365软件
· 杰创官网
· 建站工具
· 网站大全

其它栏目

· 建站教程
· 365学习

业务咨询

· 技术支持
· 服务时间:9:00-18:00
365建站网二维码

Powered by 365建站网 RSS地图 HTML地图

copyright © 2013-2024 版权所有 鄂ICP备17013400号