中文编码问题对于中国程序员来说,一直是个头疼的问题,我们在编程中,不得不考虑并解决更多的问题。今天我又碰到了一个类似的问题。
在公司上班,用的公共的机子,所以习惯把自己的东西放到同一个目录下,比如d:/姓名,所以我的workspace路径就是这样的:
d:/姓名/workspace/
现在我想将我的一个项目挂到Tomcat上去,又不想每次都部署文件到Tomcat目录下,所以就想在 %TOMCAT_HOME%/conf/Catalina/localhost 下加一个配置文件,把项目直接挂上去。那么一般的配置文件大概是这样写的:
<Context path="/eoms" docBase="D:/姓名/workspace/eoms/EOMS_J2EE" reloadable="true" debug="0" />
但这里的docBase的值却包含了中文!这样就无法让Tomcat正确地加载上下文。不过我突然想到我们的Struts配置文件开头不是都要写一个包含文件编码的预处理指令吗?那么是不是在这个地方加上一个正确的编码,问题就可以得到解决呢?于是我马上将配置文件修改了一下,修改后文件是这样:
<?xml version="1.0" encoding="GB2312"?>
<Context path="/eoms" docBase="D:/姓名/workspace/eoms/EOMS_J2EE" reloadable="true" debug="0" />
等待片刻,发现已经启动的Tomcat开始正常的加载我配置的上下文了!