解决linux中文乱码
今天突然发现有个服务器上面的php输出的日志乱码,然后我查看php也是乱码,我下载windows本地,显示正常,我ctrl+c然后ctrl+v到服务器,还是乱码,各种转换,都不行, 查看xshell编码,utf-8的 查看系统编码echo $LANG,显示是en_US.UTF-8 再用file命令查看php,提示是个php script文件,然后机智的我直接删掉了<?php >,只保留php内容,然后file查看,提示是utf8的,这么就尴尬了, 后来发现有个修改系统编码的博文是这么说的 vi /etc/profile export LC_ALL="zh_CN.GBK" export LANG="zh_CN.GBK" 然后我赶紧查看了下echo $LC_ALL 显示en_US 根据网上的另一个帖子是这么说的 locale的设定: LC_ALL和LANG优先级的关系: LC_ALL > LC_* >LANG 1、如果需要一个纯中文的系统的话,设定LC_ALL= zh_CN.XXXX,或者LANG=zh_CN.XXXX都可以。 2、如果只想要一个可以输入中文的环境,而保持菜单、标题,系统信息等等为英文界面,那么只需要设定 LC_CTYPE=zh_CN.XXXX,LANG=en_US.XXXX就可以了。 3、假如什么也不做的话,也就是LC_ALL,LANG和LC_*均不指定特定值的话,系统将采用POSIX作为lcoale,也就是C locale。 所以这个系统根本不支持中文, 虽然$LANG=en_US.UTF-8 把LC_ALL设置为空或者设置为en_US.UTF-8,不过看了下其他系统,我还是设置为了空