这两天好烦,本来这个高校查询的小项目基本就结束了的、哪知道公司那边Tomcat的server.xml文件里80端口的URIEncoding竟然是“GBK”的、我自己电脑上面的URIEncoding都是默认的(默认的是什么我也不清楚orz)。
具体的问题就是从servlet里获取页面的数据时打印出来的数 不全,例如 建筑?? ,交??大学,化学技术与工??。都是有几个字显示不出来,但是有些能显示出来。这两天也查了很多资料。
有说 在 servlet中加入 request.serCharacterEncoding("utf-8");的
我也尝试过了,还是不行。
我的页面设置的是utf-8格式的,Tomcat里设置GBK格式的,我就在想会不会从界面拿值的时候编码不匹配才出现了这样的问题的。但是这样的话应该是有一些特定的字无法显示才对
我现在是 建筑学 的 学 显示不出来 ,上海交通大学的 通 显示不出来,学 显示的出来,通信工程的 通 显示得出来 但是 程 显示不出来。
所以我排除了这种想法。
因为比较急,我能力有限。决定给人家公司里的Tomcat里的server.xml增加8080端口(他们公司里用的80端口,但是他们公司用这项目是内网用的),所以直接让他用8080端口,内网用80端口我也不知道说什么好,我先这个理由还是能说服对方的,其实也是自己的能力不足的表现,现在只不过是一种折中的选择。
在Tomcat里的cof文件夹里的server.xml里增加这串代码就行了
connectionTimeout="20000"
redirectPort="8443"/>
这里没有设置URICoding的值(默认值我也不清楚)
他们公司里的是这样的:
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK" />
80端口用的GBK编码格式(GBK格式是专门对中文的编码格式,我想不明白为什么我获取的时候会出现乱码)
现在就只能让他们用8080端口登录我这个系统了(希望对方能同意orz!)
这里是我今天自己看的一些资料,说的是Tomcat如何对多个web应用配置端口
http://www.codesky.net/article/201206/171929.html
其实我不明白为什么要对多个web应用配置端口,我起初以为一个web应用你给他配置了80端口,URIEncoding="GBK"
然后对另一个web应用也配置端口,也是80端口但是URIEncoding不给他设置"GBK"
这样就达到了不同web应用编码格式用过80端口可以用符合他们自己的编码格式
但是事实完全不是这样的,80端口配置一次后,其他的web应用就不能再配置了。
虽然Tomcat不会报错,但是第二次配置的会无效的。
具体的问题就是从servlet里获取页面的数据时打印出来的数 不全,例如 建筑?? ,交??大学,化学技术与工??。都是有几个字显示不出来,但是有些能显示出来。这两天也查了很多资料。
有说 在 servlet中加入 request.serCharacterEncoding("utf-8");的
我也尝试过了,还是不行。
我的页面设置的是utf-8格式的,Tomcat里设置GBK格式的,我就在想会不会从界面拿值的时候编码不匹配才出现了这样的问题的。但是这样的话应该是有一些特定的字无法显示才对
我现在是 建筑学 的 学 显示不出来 ,上海交通大学的 通 显示不出来,学 显示的出来,通信工程的 通 显示得出来 但是 程 显示不出来。
所以我排除了这种想法。
因为比较急,我能力有限。决定给人家公司里的Tomcat里的server.xml增加8080端口(他们公司里用的80端口,但是他们公司用这项目是内网用的),所以直接让他用8080端口,内网用80端口我也不知道说什么好,我先这个理由还是能说服对方的,其实也是自己的能力不足的表现,现在只不过是一种折中的选择。
在Tomcat里的cof文件夹里的server.xml里增加这串代码就行了
connectionTimeout="20000"
redirectPort="8443"/>
这里没有设置URICoding的值(默认值我也不清楚)
他们公司里的是这样的:
connectionTimeout="20000"
redirectPort="8443" URIEncoding="GBK" />
80端口用的GBK编码格式(GBK格式是专门对中文的编码格式,我想不明白为什么我获取的时候会出现乱码)
现在就只能让他们用8080端口登录我这个系统了(希望对方能同意orz!)
这里是我今天自己看的一些资料,说的是Tomcat如何对多个web应用配置端口
http://www.codesky.net/article/201206/171929.html
其实我不明白为什么要对多个web应用配置端口,我起初以为一个web应用你给他配置了80端口,URIEncoding="GBK"
然后对另一个web应用也配置端口,也是80端口但是URIEncoding不给他设置"GBK"
这样就达到了不同web应用编码格式用过80端口可以用符合他们自己的编码格式
但是事实完全不是这样的,80端口配置一次后,其他的web应用就不能再配置了。
虽然Tomcat不会报错,但是第二次配置的会无效的。