有一个接口是通过url比如:http://192.168.0.2:8080/new/xml?keyname=中文参数,而后面的中文参数会被用系统的默认字符集编码,然后传到tomcat
omcat目录conf目录下的server.xml打开,找到<Connector>标签,在最后添加URIEncoding="utf-8",效果如下:
<Connector
port="8080"maxThreads="150"minSpareThreads="25"maxSpareThreads="75"
enableLookups="false"redirectPort="8443"acceptCount="100"
debug="0"connectionTimeout="20000"
disableUploadTimeout="true"URIEncoding=″utf-8″/>
是这样的:1,系统先读取文本文件,判断其编码方式。
2,如果文本文件的编码方式是系统默认的编码方式,那就直接显示。如果文本文件的编码方式不是系统默认的编码方式,那就在内存里转换成系统默认的编码方式,然后显示。(中文版win10默认的编码是utf8,中文版win7默认的编码是unicode)
3,以中文版win7为例,无论是utf8文本,还是gb2312,显示的时候,都已经在内存里转换成了unicode。无论是记事本上的文字,还是网页上的文字,你能看到的所有字符,都是unicode。
4,在不同窗口之间复制文本的时候,也是用的unicode。
5,保存文件的时候,系统把内存里的unicode文本全都转换成目标编码格式,然后保存到硬盘上。如果存在目标编码格式无法识别的字符,那就舍弃。比如有些图形符号,unicode字符集里有,而gb2312里没有,那么当保存为gb2312格式的时候,那个图形符号就会舍弃。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)