2015/09/19 22:23

引用来自“zigzagroad”的评论

引用来自“zigzagroad”的评论

浏览器默认的提交请求是UTF-8编码。<br/><br/>

对客户端发起的所有请求都进行base64编码 理论上是可以做到、也并不困难,只是这个工作太无聊了。<br/><br/>

全部编码使用UTF-8,可避免要到处进行转码的问题。包括:(1)JSP文件编码和(2)pageEncoding(这两个是后台应用服务器在输出HTML时使用),(3)contentType (这是输出给客户端浏览器使用的),(4)<meta http-equiv="Content-Type" content属性(浏览器兼容性),(5)后台应用服务器设置使用的编码(Tomcat在server.xml中的<Connector>标签上设置URIEncoding,(6)数据库设置使用的编码,(7)操作系统的编码。
其中,如果没有设置(5)后台应用服务器的编码,那么后台应用服务器则使用(7)操作系统的编码。这个编码体系如同一条链条,任何一个环节的编码不正确,都会造成乱码问题的产生。

可能是被OSC过滤掉了,现补充:(4)meta标签的http-equiv="Content-Type"时的content设置编码,(5)后台应用服务器的设置编码(Tomcat的server.xml文件中的Connector标签上设置URIEncoding
因为一些历史的原因代码里面都使用了GBK的编码。 另外一个问题是应用服务器本生对中文请求的处理是不一致的,想我的文章里面提到的was、weblogic,我 测试后,就发现他们对普通form表单的处理是不一致的。一些资料中提到,在第一次调用getParameter方法的时候,会发生一次转码,weblogic是没有转码的。这样就造成了同样的代码在不同的应用服务器下面,表现是不一致的情况。
2015/09/19 18:37

引用来自“zigzagroad”的评论

浏览器默认的提交请求是UTF-8编码。<br/><br/>

对客户端发起的所有请求都进行base64编码 理论上是可以做到、也并不困难,只是这个工作太无聊了。<br/><br/>

全部编码使用UTF-8,可避免要到处进行转码的问题。包括:(1)JSP文件编码和(2)pageEncoding(这两个是后台应用服务器在输出HTML时使用),(3)contentType (这是输出给客户端浏览器使用的),(4)<meta http-equiv="Content-Type" content属性(浏览器兼容性),(5)后台应用服务器设置使用的编码(Tomcat在server.xml中的<Connector>标签上设置URIEncoding,(6)数据库设置使用的编码,(7)操作系统的编码。
其中,如果没有设置(5)后台应用服务器的编码,那么后台应用服务器则使用(7)操作系统的编码。这个编码体系如同一条链条,任何一个环节的编码不正确,都会造成乱码问题的产生。

可能是被OSC过滤掉了,现补充:(4)meta标签的http-equiv="Content-Type"时的content设置编码,(5)后台应用服务器的设置编码(Tomcat的server.xml文件中的Connector标签上设置URIEncoding
2015/09/19 18:29
浏览器默认的提交请求是UTF-8编码。<br/><br/>

对客户端发起的所有请求都进行base64编码 理论上是可以做到、也并不困难,只是这个工作太无聊了。<br/><br/>

全部编码使用UTF-8,可避免要到处进行转码的问题。包括:(1)JSP文件编码和(2)pageEncoding(这两个是后台应用服务器在输出HTML时使用),(3)contentType (这是输出给客户端浏览器使用的),(4)<meta http-equiv="Content-Type" content属性(浏览器兼容性),(5)后台应用服务器设置使用的编码(Tomcat在server.xml中的<Connector>标签上设置URIEncoding,(6)数据库设置使用的编码,(7)操作系统的编码。
其中,如果没有设置(5)后台应用服务器的编码,那么后台应用服务器则使用(7)操作系统的编码。这个编码体系如同一条链条,任何一个环节的编码不正确,都会造成乱码问题的产生。
回复 @
{{emojiItem.symbol}}
返回顶部
顶部