- 区分字符集和编码的区别
- 查看本机默认编码(新建一个txt文档,默认utf-8,这个和系统编码不一定有关):
windows:chcp
linux: locale LANG=en_US.UTF-8 修改:/etc/sysconfig/i18n LANG=zh_CN.GBK
重新加载source /etc/sysconfig/i18n
查看文件编码:file 1.txt 1.txt: ISO-8859 text
文件转换编码:iconv -f GBK -t UTF-8 1.txt -o 2.txt
如若文件名展示乱码,表示文件名编码和展示编码不一致,展示编码取系统默认编码,或者展示程序制定的编码,改成一致即可。 - java:
- 源代码文件编码
- class文件编码:javac -encoding取源代码文件编码,到class中是变种的utf-8
- 虚拟机内编码:utf-16 string字符串定义的即采用utf-16编码,1到2个代码单元表示一个码点,string的length是代码单元长度,1个表情符号长度可能是2
char, whose values are 16-bit unsigned integers representing Unicode code points in the Basic Multilingual Plane, encoded with UTF-16, and whose default value is the null code point (‘\u0000’)。 java中char类型使用16位无符号整数来描述unicode中最早一批收录的字符,这批字符后来被叫作Basic Multilingual Plane(BMP),然后编码表使用的是utf-16。所以,java中单个char类型描述的字符是有限的,单个char只能描述unicode中的BMP范围的码位,也就意味着BMP范围外的字符char是无法表示的。比如表情emoji,要用String保存,string是char数组(java9前)两个char表示一个表情emoji - io流编码:读取时指定-Dfile.encoding指定
- 显示编码:如浏览器 指定
- http:
客户端:Accept:application/json,text/javascript,*/*;q=0.01
服务端返回:Content-Type:application/json;charset=UTF-8
客户端:Conten-Type:applicaiton/x-www-form-urlencoded;charset=UTF-8
服务端根据编码解析。
Accept-Encoding:gzip,deflateContent-Encoding:gzip
Accept-Language:zh-CNContent-Language:zh-CN
tomcat:Tomcat默认是按ISO-8859-1进行URL解码,ISO-8859-1并未包括中文字符.修改配置:适合get传在url中经过了urlencode
参考:
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:网站设计制作、
成都网站制作、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的
芜湖县网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
HTTP:实体(body)数据
让Java世界中再无乱码!5分钟彻底掌握Java字符编码原理
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
网站栏目:字符编码合集-创新互联
标题网址:
http://cqcxhl.com/article/ddpicc.html