Tapestry 5.3.8 中文乱码解决办法

1、          遇到的Bug:字节的UTF-8序列的字节3无效

Bug 描述:在tml文件中出现汉字时,有时奇数会报错,有时偶数会报错。我用的版本是 Tapestry 5.3.8。

Bug信息如图所示:

出现原因:查资料可能是Tapestry版本问题,5.3以上的版本可能出现这个问题。

解决办法:手动修改源码内容,步骤如下所示

1):下载源码Tapestry 5.3.8(下载路径:http://tapestry.apache.org/download.html),找到包“apache-tapestry-5.3.8-sources\tapestry-core\src\main\java\org\apache\tapestry5\internal\services”下的“XMLTokenStream.java”文件

2):用这行代码替换 348行

InputStreamReader rawReader = new InputStreamReader(rawStream, "UTF-8");

3):用这行代码替换 532行

PrintWriter writer = new PrintWriter(new OutputStreamWriter(bos, "UTF-8"));

4):在项目src包下创建包“org.apache.tapestry5.internal.services”,把修改后的“XMLTokenStream.java”文件放在该包下即可!

可参考“http://tapestrying.group.iteye.com/group/topic/33367

时间: 2024-07-30 10:04:12

Tapestry 5.3.8 中文乱码解决办法的相关文章

PHP中文乱码解决办法

一.         首先是PHP网页的编码 1.     php文件本身的编码与网页的编码应匹配 a.     如果欲使用gb2312编码,那么php要输出头:header("Content-Type: text/html; charset=gb2312"),静态页面添加<meta http-equiv="Content-Type" content="text/html; charset=gb2312">,所有文件的编码格式为ANS

navicat for mysql 显示中文乱码解决办法

navicat for mysql 显示中文乱码解决办法   最近遇到一个问题,用navicat for mysql 打开数据库时全都显示的是乱码(在用程序代码插入数据之前确保字符不是乱码),遇到问题就的寻求解决之道,百度了好长时间也没解决,网上那些解决办法都不 适合我的问题,网上的大多数解决方法是在navicat里右击一个连接,选择连接属性,切换到高级选项卡,去掉“使用mysql字符集”前的对勾,在编码 里选择utf-8,这种方法对于部分问题可能适合,但是我的乱码问题依然存在,于是乎我又将ut

Oracle导入中文乱码解决办法

Oracle导入中文乱码解决办法 一.确保各个客户端字符集的编码同服务器字符集编码一致 1-       确定sqlplus字符集编码,如果是windows设置环境变量. 2-       确保SecureCRT客户端的字符集为简体中文即可,不要设置为UTF-8,否则在连接oralce数据库时,中文都显示乱码,以免产生不必要的麻烦. 二.设置带中文的sql脚本的字符集

【转】sublime text 2 中文乱码解决办法

sublime text 2是一款非常优秀的跨平台文本及源代码编辑器,本人非常喜欢,但是不支持GB2312和GBK编码在某些时候比较麻烦.可以通过向sublime text 中添加编码类型转换包(比如“ConvertToUTF8")来解决这一问题.具体方法如下: 首先声明:这一方法前提是sublime text 2的安装路径没有中文字符,且系统路径的%username%中不包含中文字符.否则需要手动添加转换包,这个稍后说明. 1. 安装Sublime Package Control: 在Subl

[Linux] - CentOS中文乱码解决办法

CentOS 7 终端中文乱码解决办法: 1.使用vim编辑locale.config文件: vim /etc/locale.conf 2.将LANG="en_US.UTF-8"修改为: LANG="zh_CN.GB18030" LANGUAGE="zh_CN.GB18030:zh_CN.GB2312:zh_CN" SUPPORTED="zh_CN.UTF-8:zh_CN:zh:en_US.UTF-8:en_US:en" SY

Linux下Tomcat向MySQL插入数据中文乱码解决办法

Linux下Tomcat向MySQL插入数据中文乱码解决办法 一.问题 在windows上面使用eclipse开发的项目在windows上面运行一切正常,部署到腾讯云时出现向MySQL数据库中插入数据是中文乱码 二.解决办法 1.尝试一直接在linux上面使用insert语句插入中文,正常2.尝试二在tomcat配置文件server.xml中加入useBodyEncodingForURI="true",不行3.尝试三在tomcat配置文件server.xml中再加入URIEncodin

zabbix中文乱码解决办法

问题一.字符默认不一致原因解决办法: 现象:设置中文之后,历史记录栏出现乱码,无法显示中文 1. 查看zabbix库默认字符集是否为latin1 2. 备份zabbix库 3. 先删掉zabbix库,再创建一个新库zabbix,指定默认字符为utf8 4. 替换备份库文件中的latin1为utf8,并导入zabbix库中 问题二.中文字体库缺失原因解决办法: 现象:数据图表显示出现乱码,无法显示中文 1. 下载中文字体: 说明:同时解决了告警邮件中中文乱码的问题!!! 命令 wget http:

代码从记事本拷贝到 source insight 工程出现中文乱码解决办法

1.代码从记事本拷贝到source insight 工程,此时出现乱码,解决办法,将输入法切换到中午输入法即可. 2.source insight 阅读VC++源码,注释为乱码解决方案 1.options->preferences->Syntax Formatting->Styles: 2.在Style Name 选择 Comment,再对其Font Name 选择Pick,然后再选择"新宋体". 3.source insight 阅读Linux源码,注释为乱码解决方

Ajax在IE浏览器会出现中文乱码解决办法

在AJAX浏览器来进行发送数据时,一般它所默认的都是UTF-8的编码. Ajax在IE浏览器会出现中文乱码的情况!解决办法如下 <script type="text/javascript"> function showDiv(str){ document.getElementById("picDiv").style.display=""; var xmlhttp; if (str==""){ document.ge