com.caucho.jsp.JspParseException: illegal utf8 encoding at 0xfd 解决方法

使用resin-3.1.1作为服务器,在jsp里如下的代码:
int test;
out.println("test value is : " + test);
resin出现的异常是:
com.caucho.jsp.JspParseException: illegal utf8 encoding at 0xfd
不是:
com.caucho.jsp.JspParseException: /index.jsp:12: variable test might not have been initialized
        out.println("test value is : " + test);
这样的异常

经过反复研究,发现是操作系统的问题,我分别在本机测试(我使用ubuntu开发),ubuntu的时区是香港(en_HK),
而服务器上的时区是中国大陆(zh_CN),处理方法如下:


首先,使用locale命令查看当前服务器设置地域,我出来的结果是:
LANG=zh_CN.UTF-8
LC_CTYPE="zh_CN.UTF-8"
LC_NUMERIC="zh_CN.UTF-8"
LC_TIME="zh_CN.UTF-8"
LC_COLLATE="zh_CN.UTF-8"
LC_MONETARY="zh_CN.UTF-8"
LC_MESSAGES="zh_CN.UTF-8"
LC_PAPER="zh_CN.UTF-8"
LC_NAME="zh_CN.UTF-8"
LC_ADDRESS="zh_CN.UTF-8"
LC_TELEPHONE="zh_CN.UTF-8"
LC_MEASUREMENT="zh_CN.UTF-8"
LC_IDENTIFICATION="zh_CN.UTF-8"
LC_ALL=
表明使用的是中国地区
使用export LANG=en_US.UTF-8命令修改为英文美国地区。
再用locale查看是否已修改成功,我出来的结果是:
LANG=en_US.UTF-8
LC_CTYPE="en_US.UTF-8"
LC_NUMERIC="en_US.UTF-8"
LC_TIME="en_US.UTF-8"
LC_COLLATE="en_US.UTF-8"
LC_MONETARY="en_US.UTF-8"
LC_MESSAGES="en_US.UTF-8"
LC_PAPER="en_US.UTF-8"
LC_NAME="en_US.UTF-8"
LC_ADDRESS="en_US.UTF-8"
LC_TELEPHONE="en_US.UTF-8"
LC_MEASUREMENT="en_US.UTF-8"
LC_IDENTIFICATION="en_US.UTF-8"
LC_ALL=
修改成功了(可以使用vi查看,修改后,vi的一些提示是否变成英文了)

使用vi /etc/sysconfig/i18n修改这个文件(记得先备份,这步不知是否必须,但最好修改吧):
我的i18n内容是:
LANG="zh_CN.UTF-8"

修改为:
LANG="en_US.UTF-8"
SUPPORTED="en_US.UTF-8:en_US:en"
SYSFONT="latarcyrheb-sun16"

最后,使用locale确定修改成功

重启resin再测试,异常正确了,激动万分。。
呵呵,希望能帮到您!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值