web项目,在eclipse中启动tomcat中文正常显示,如果直接启动tomcat则显示乱码
我的问题是:我的一个web项目中有一个jsp页面和servlet通过ajax传递数据,servlet得到中文结果传给jsp,在servlet中设置了编码方式是utf-8,由于我的代码中还用到了利用dom4j进行xml文件解析,也设置了读取的时候格式是utf-8,从eclipse启动tomcat服务器,就可以正常显示,但是如果直接从tomcat的bin下启动startup.bat中文也是乱码,我的tomcat的server.xml也设置的编码方式是utf-8,昨天查了下说什么在web.xml里面加个filter,加了也还是乱码,不知道咋解决了 tomcat servlet jsp 乱码 --------------------编程问答-------------------- JSP也要设置成utf8,xml的文件抬头也要设置utf8 --------------------编程问答-------------------- 都已经设置了 --------------------编程问答-------------------- 看下数据库是否是乱码,不行加上乱码=new String(乱码.getBytes("iso8859-1"),"utf-8"); --------------------编程问答-------------------- 我觉得这个问题不大,不会影响你的使用。如果要刨根根问底的话,我有个猜想:Windows Command Line的代码页默认是:cp936,也就是GBK,Command Line无法显示Unicode编码,你可以试试,用记事本写代码,存成Unicode编码,java执行一定乱码。
(就算是 chcp 65001 改成了UTF-8编码,命令行执行UTF-8的程序依然无法显示中文)
你通过Command Line 执行startup.bat ,可能系统底层还有我们不知道的调用关系 ...
我觉得如果你有Linux环境,你大可以试试看,就算命令行执行startup.sh,也不会乱码,因为Linux底层就是Unicode编码...
如果确实想弄明白原理,用虚拟机装个Linux环境,自己验证一下我的说法
补充:Java , Eclipse