中易网

linux下apache2和php乱码问题

答案:1  悬赏:70  
解决时间 2021-05-12 13:42
linux下如何解决apache2和php乱码问题?(拒绝复制)
最佳答案

# # 完全原创 # #
windows上倒是遇见过很多中乱码,但有些部分应该是差不多的。有参考其他资料,但没有直接复制大段文字,是自己一点点总结出来的。希望能够帮到你。


影响因素较多,一一列出


1. apache的httpd.conf中有默认编码的设置 ,例如 AddDefaultCharset utf-8,这个会有一定影响
2. php的php.ini中也有默认编码的设置,例如default_charset = "utf-8",只能有一个默认编码
3. 数据库字段使用的编码:如果是Latin很容易乱码的
4. php源代码文件的编码:源代码在开发过程中,文本存为文件本身也是有编码方式的。
5. php代码中使用header控制编码(可以省略)
<?php
 header(“Content-Type: text/html; charset=utf-8");
?>
6. 网页前台的编码
html代码中的meta  <meta http-equiv="content-type" content="text/html;charset=utf-8">



实际应用中,改变服务器设置不现实,尤其是租服务器,主机提供商不会帮你改的
因此,从3456入手,而且各个部分应该一直、匹配。
也就是说,数据库用了utf-8,那么源码也存成utf-8,网页前台也content="text/html;charset=utf-8"


附加说明:
第4点:
一般IDE(例如ZendStudio)是可以指定代码编码的,但是有一些例外:
使用Win7的记事本修改后,存为utf-8,会加入windows特有的utf-8标记“BOM”,这是微软为了标记编码在文件头加的额外信息,这样的源代码被执行后,BOM会发往客户端!客户端收到的网页开头是乱的,因为BOM打乱了内容编码的解析
在Mac上使用编辑工具修改源代码后,代码的存储编码会发生较大变化,本人在于团队合作过程中也因此出现较多问题,不推荐使用系统(win/mac)自带的一些文本编辑工具(即使他们有代码高亮或代码提示)
使用成熟的IDE是很不错的办法


第5点:
用header控制编码要注意和其他设置头(header)的操作的前后关系,容易导致 “无法修改已发送的头”的错误
用这个其实有时候实属无奈,但很有效


第6点:
请把<meta http-equiv="content-type" content="text/html;charset=utf-8"> 放到<title></title>之前!!
因为如果title包含中文,很可能悲剧。本人遇到过两次整站直接空白无法显示出来的问题,就是因为次序问题。

我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
电脑电源后面的 输出 有什么用
宝山地区哪里有厂家卖香蕉水
QQ家园的图标是什么样的
用英语解释句子What is your favourite colou
东方休闲中心地址有知道的么?有点事想过去
哪里有卖街舞装备的,现实店。
跑跑卡丁车有多少级啊!
dvd9游戏碟安装问题
怎样才能升级最快啊
吃多了东西会引起呕吐吗?有人说是胃肠有毛病
急求群体心理学案例
深圳街在哪里啊,我有事要去这个地方
为什么现在元宝等都要设置期限呢?
有高兴的是,就说出来,一起高兴!烦恼的是咽
好友问问可以干什么
推荐资讯
湖南哪个学校自考最好?学费实惠?教学硬件最好
学电脑艺术设计的 最近两天打算配置台电脑 高
皮肤以前烫伤过、现在有点小伤口就发炎红肿伤
怎么样禁止QQ宠物自动升级最新版本
高考能人进?
CF请问带着光环的是什么意识还有有的还有S标
天下2里那个拣东西的宝宝小木神怎么领?
互邦(芦台)医疗器械有限公司地址在什么地方,
去南京夫子庙厨师学校学习毕业之后拿哪些证书
哪些食物中含有叶酸?
为什么我的手机注册了GPRS用户,为什么上网时
这是什么动漫里的人物。
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?