web程序中win7 64位系统GBK编码的问题
使用jsp做了一个web系统,在xp下运行正常,移植到win7下后,发现form表单传递的值中文支持不了,页面使用的是GBK。
------最佳解决方案-------------------- 关于编码之类的,应该都属于高可移植范畴的,操作系统的差异早就在上层被屏蔽掉了
找找其它原因吧(哪个环节的编码问题)
------其他解决方案-------------------- 这个应该是你win7开发环境编码格式的问题,更改移植后项目的编码吧。
------其他解决方案-------------------- 您的form表单提交方式是什么啊,是get还是post?
------其他解决方案-------------------- 引用: 这个应该是你win7开发环境编码格式的问题,更改移植后项目的编码吧。 可是win7系统也支持GBK编码啊
------其他解决方案-------------------- 我的意思是让你看看win7中的myeclipse你导入的工程后,工程的编码!
------其他解决方案-------------------- 引用: 我的意思是让你看看win7中的myeclipse你导入的工程后,工程的编码!
工程的编码是使用的默认的,GBK
------其他解决方案-------------------- 同意楼上,我的web项目也是在win7x64下开发,在xp或win7x32下运行,没有针对此问题特殊处理毫无问题的。
------其他解决方案-------------------- 恩,如果移植后项目本身一切都没变的话,那多数就是与操作系统有关的环节的编码问题了。
------其他解决方案-------------------- 引用: 您的form表单提交方式是什么啊,是get还是post?
谢谢,我做了一下测试,form表单post方式提交没有问题,超链接传参就有问题。
------其他解决方案-------------------- 做了过滤器和编码格式转化之后,找到了问题所在,问题是tomcat的server.xml中的设置问题。和系统没有关系。现有配置部分修改如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK" />结贴!谢谢各位!
------其他解决方案-------------------- 引用: 做了过滤器和编码格式转化之后,找到了问题所在,问题是tomcat的server.xml中的设置问题。和系统没有关系。现有配置部分修改如下:
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000" redirectPort="8443" URIEncoding="GBK" />结贴!谢谢各位!
我查了一下,这个Connector的URIEncoding设置貌似是对Post和Get都有效的
If your POST and GET parameters are not UTF-8 encoded when using Tomcat 5.x, try to adjust the Connector configuration in Tomcats server.xml like this:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
enableLookups="false" redirectPort="8443" acceptCount="100"
connectionTimeout="20000" disableUploadTimeout="true"
URIEncoding="UTF-8"
/>
http://struts.apache.org/2.3.4/docs/how-to-support-utf-8-uriencoding-with-tomcat.html