最近在做网站更换服务器后的代码移植,服务器OS为Gentoo Linux 2006.1,WEB软件使用了常见的APACHE+RESIN来联合使用,遇到两个问题,后来证明是一个原因引起的。
1、直接用JAVAC编译以前写的代码会提示未知ASCII码,然后不能编译。
2、Resin启动后读取的数据库内容乱码。
在GOOGLE上检索了参考,在/etc/profile中加入:
LANG=en_US.ISO8859-1
export LANG
然后logout,重新登录就可以使本地语言变量生效,这样就可解决JAVAC编译代码中有中文注释的问题,Resin再次重新启动服务后也没问题了。
1、直接用JAVAC编译以前写的代码会提示未知ASCII码,然后不能编译。
2、Resin启动后读取的数据库内容乱码。
在GOOGLE上检索了参考,在/etc/profile中加入:
LANG=en_US.ISO8859-1
export LANG
然后logout,重新登录就可以使本地语言变量生效,这样就可解决JAVAC编译代码中有中文注释的问题,Resin再次重新启动服务后也没问题了。
奇怪的是,上午重新启动服务器想看看开机内存使用量,打开网站,发现Resin又乱码了。
分析问题应该是出在本地语言变量上,本地语言变量是在服务进程完全启动后才生效,所以Resin启动时这些变量还没有产生,把本地语言变量加到启动脚本里应该就可以解决问题。
编辑启动脚本:vi /etc/inid.d/resin
LANG=en_US.ISO8859-1
export LANG
重新启动服务器,中文已经恢复正常啦。