已经有几个网友开始试用AnySQL DataReport程序了, 但集成在Tomcat 6上运行时出现了中文问题, 具体表现为在页面模板中定义页面标题(HTMLTITLE)后, 用浏览器打开页面时, 无法显示中文标题, 在Tomcat 4中则没有中文问题, 这应当是Tomcat 4和Tomcat 6之间对于页面字符集的处理发生了变化.

    程序一直是在Tomcat 4上运行和测试的, 测试过Tomcat 6上的功能及配置问题, 但刚好没有测试中文问题, 因为我自已一直都用英文测试, 所以网友帮我发现了这个问题, 非常感谢这位网友的有效信息回馈. 作为回报, AnySQL DataReport帮他轻松地画出了数据库服务器的每分钟Load曲线图.

    研究了一下Tomcat 6的有关资料, 在代码中加了以下两行, 可以自行设定页面处理时的字符集.

if (vt.exists("WEBCHART.PAGEENCODING"))
{
    request.setCharacterEncoding(vt.getString("WEBCHART.PAGEENCODING"));
    response.setCharacterEncoding(vt.getString("WEBCHART.PAGEENCODING"));
}

    现在只要在全局配置文件(global)中加入页面字符集的设置, 就可以正常显示中文了.

WEBCHART.PAGEENCODING=UTF-8

    在Tomcat 4中是无法很好地控制页面的字符集的, 只能依靠操作系统的区域设定, 来自动选择. 在Tomcat 6的体系结构中, 多加入了一层, 可以让开发人员更好地控制页面的字符集, 看来是得关注一下Tomcat 6的一些新属性了.

    只要重新下载核心文件替换一下, 就可以支持中文了.