① windows 涓嬬敤娴忚埚櫒璁块梾杩灭▼linux镄凯HP椤甸溃鑻辨枃鏄剧ず姝e父锛屼絾鏄涓鏂囦贡镰侊纴镐庝箞瑙e喅锻锛
鎶婃祻瑙埚櫒椤甸溃镄勫瓧绗﹂泦鎹㈡垚utf-8璇曡瘯銆傛垨钥呭湪linux镄刾hp椤甸溃涓婂0鏄庡瓧绗﹂泦涓簎tf-8銆
② 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包含中文,很可能悲剧。本人遇到过两次整站直接空白无法显示出来的问题,就是因为次序问题。
③ 如何解决linux显示中文乱码
1、查看当前系统语言:
登陆linux系统打开操作终端之后,输入echo$LANG可以查看当前使用的系统语言。
2、查看安装的语言包:
查看是否有中文语言包可以在终端输入locale命令,如有zhcn表示已经安装了中文语言
3、如果没有中文语言呢?
可以通过网上下载安装中文语言包yumgroupinstallchinese-support(不能联网的通过其他电脑下载,上传上去吧)
4、如何修改系统语言为中文
1 临时更换语言
如果只是临时更换linux系统的语言环境,可以通过输入设置LANG=语言名称,如中文是
Zn_CN.UTF-8(注意我这里本来就是中文的,我临时设置为英文
5、修改系统默认语言:
以上方法是通过修改设置系统默认的语言配置
如Vi/etc/sysconfig/i18n(注意改好之后重启一下系统)
6、其他注意事项:
如果按照以上方法设置修改设置中文语言还是不行的话,注意您的链接终端选择的编码。
如xshell为例,把终端的编码选择中文,或者UTF8即可
注意事项:
以上经验是Centos系统的操作方法,其他发行版的linux命令可能有所不同(绝大多少的都是这样操作喔)注意改了默认配置之后需要重启系统
本经验为咗嚛原创操作截图,网络经验首发。未经许可,谢绝转载!如果有疑问请给小编留言,谢谢多多支持!
④ linux系统上出现乱码怎么解决
linux 中文显示乱码解决办法, 其实是有多种情况的, 有一部分是由于终端默认的设置造成的
vi /etc/sysconfig/i18n
将内容改为
LANG="en_US.UTF-8"
SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"
将内容改为
LANG="zh_CN.GB18030"
LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN"
SUPPORTED="zh_CN.GB18030:zh_CN:zh:en_US.UTF-8:en_US:en"
SYSFONT="lat0-sun16"
不用重启,马上就生效.
这样中文在SSH,telnet终端一般可以正常显示了。
如果还是不行,可以这么做:
1、console终端乱码
在/etc/profile文件的最后一行添加如下内容:
export LC_ALL="zh_CN.GB18030"
2、xwindow终端乱码
在/etc/sysconfig/i18n文件的最后一行添加如下内容:
export LC_ALL="zh_CN.GB18030"
⑤ 如何解决PHP中文乱码问题
PHP中文乱码主要是编码不对,存在以下两种情况,你以此检查一下 ,改对编码就行了
1、 php文件本身的编码与网页的编码应匹配
a. 如果欲使用gb2312编码,那么php要输出头:header(“Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANSI,可用记事本打开,另存为选择编码为ANSI,覆盖源文件。
b. 如果欲使用utf-8编码,那么php要输出头 :header(“Content-Type: text/html; charset=utf-8"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=utf-8">,所有文件的编码格式为utf-8。保存为utf-8可能会有点麻烦,一般utf-8文件开头会有BOM,如果使用 session就会出问题,可用editplus来保存,在editplus中,工具->参数选择->文件->UTF-8签名,选择总 是删除,再保存就可以去掉BOM信息了。
2. php本身不是Unicode的,所有substr之类的函数得改成mb_substr(需要装mbstring扩展);或者用iconv转码。