有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

Tapestry中的java表单编码

我对Tapestry表单有问题。 我的XML数据库对编码非常敏感,需要utf-8

当我在表单中放入字符“a”时,tapestry接收到“Ó”,我的核心得到一个错误:3字节UTF-8序列的无效字节2

我在eclipse中没有tomcat的本地默认配置问题

但无论tomcat的配置如何,我认为我的应用程序必须自己进行转换

所以我试着:

  • charset=“utf-8”格式=>;失败
  • ^AppModule=>;失败

每个页面的字符集都是utf-8

那么,在使用java字符集编码器之前,我可以做些什么呢

谢谢你帮助我。:)


共 (2) 个答案

  1. # 1 楼答案

    我不认为你的申请有什么问题。默认情况下,Tapestry在UTF-8中执行所有操作;这个维基页面已经过时了(指的是5.0.5测试版,在该测试版中,上传文件的表单仍然没有正确使用UTF-8)

    你是说你在当地没有问题。你试过在不同的服务器上运行吗?如果没有问题,服务器上操作系统的代码页设置可能有问题

    下面是纯粹的轶事证据

    我曾经在生产服务器(运行SUSE Linux)上的Tapestry 5应用程序中遇到过类似的字符集问题,我无法在任何其他服务器上重现。应用程序、Tomcat服务器和系统的代码页设置似乎都很好,但POST数据最终会被解码为ISO 8859-1,而不是应用程序中的UTF-8。在问题出现之前,该应用已经在该服务器上运行了一年——可能是通过操作系统的更新

    在一天毫无进展之后,我们重新安装了整个服务器操作系统,一切又恢复了正常

  2. # 2 楼答案

    问题在于启动到windows shell中的JVM的默认字符集。 它导致FileWriter出现问题,然后在控制台中显示坏字符:)