char a[]="abc"
在它的编码中gb2312和utf-8都一样
对任意一个字符而言,并没有编码格式的概念。同样的一个字母,在不同编码集里面代表不同的东西,当然也有可能恰好代表相同的东西。
编码集并不是文本本身的属性,而是观察者的角度,也就是说你用什么编码集来观察这段文本。——从程序的角度就是,你用什么软件去打开它。——编码识别大多通过非法字符进行识别,也就是说仅仅当我们判断具有非法的utf-8字符序列的时候,我们判断一个文本“不是utf-8”编码,但是我们永远无法判断一个文本“是utf-8编码”。——如果不包含任何非法字符,那么你就可以用任何编码去查看他:
例如“逍遥”如果使用BIG5码,但你还是可以使用GBK码查看这两个字,最后得到的是“殊换”。显然这两个词都是合法的,如果仅仅给你这个词,那么你无论从理论还是实际上都不可能知道原文的作者究竟是想表达“逍遥”还是“殊换“。
主要思路有两种:【1】本地客户端编码设置错了如果你用的是putty 一、Linux系统的设置
1)关闭Linux的防火墙
#iptables -F
#iptables save
2)编辑/etc/sysconfig/i18n,将LANG=en_US.UTF-8改为LANG=zh_CN.UTF-8
SUPPORT=en_US.UTF-8….也作类似改动,接下来执行:
#. /etc/sysconfig/i18n
#locale (检查本地locale)
如果看到显示了LANG=zh_CN.UTF-8等信息,表明改动成功。 【2】服务器不支持中文字符串显示【3】有可能是程序代码例如log4j文件设置错了
--------------------- 建议看看这本书《Linux就该这么学》
在Xshell、putty、SSH Secure Shell Client 等等客户端设置utf8的编码就可以了,在“文件”选项里点开“属性”一项进行设置,如下图:
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)