Java 如何在Struts 2中使项目国际化?

Java 如何在Struts 2中使项目国际化?,java,struts2,internationalization,Java,Struts2,Internationalization,我想让我的项目国际化。我支持西班牙语和意大利语,但这两种语言中的一些字符(锐重音和重重音字符)没有正确地显示在UI上 有人能解决这个问题吗?有。您有编码问题。正如浏览器所想,服务器以不同的编码提供页面,这是因为国际字符出现错误 您需要修复webapp和appserver的设置,以使用更好的编码(最好是utf-8) 该框架是国际化的 您需要为通过struts标记显示的本地化消息添加对应于每个语言环境的资源包。使用text标记或getText()在UI中检索消息 浏览器语言随HTTP请求一起传递,框

我想让我的项目国际化。我支持西班牙语和意大利语,但这两种语言中的一些字符(锐重音和重重音字符)没有正确地显示在UI上


有人能解决这个问题吗?

有。您有编码问题。正如浏览器所想,服务器以不同的编码提供页面,这是因为国际字符出现错误

您需要修复webapp和appserver的设置,以使用更好的编码(最好是utf-8)

该框架是国际化的

您需要为通过struts标记显示的本地化消息添加对应于每个语言环境的资源包。使用
text
标记或
getText()
在UI中检索消息

浏览器语言随HTTP请求一起传递,框架创建与浏览器设置对应的区域设置。通过将特殊参数
request\u locale
传递到堆栈上的
i18n
拦截器来切换区域设置

您还可以将此拦截器配置为接受用户定义的参数


正常情况下,切换到用户会话的区域设置。因此,您不必每次在每个请求上都传递一个参数,但是如果需要,也支持这种情况。查看如何使用实现上述所有功能。

如果站点后面也有数据库连接,则Web应用程序和数据库之间可能存在编码差异。如果没有编码偏差,您的国际字符是否有效。数据不是来自数据库。我只更改了硬编码标签。在法语的情况下,它可以正常工作。所以我想我可能有一些编码问题,我无法定位。你真的改变了一切,你现在没有得到这个错误。这似乎是一个编码问题,而不是“国际化”问题,因此,他应该修复标题并更具体地说明他的问题。您将此标记为struts2相关,但没有发布代码,这会产生编码错误。有无数种方式可以在没有更具体说明的情况下出现编码错误!在这里复制粘贴代码是不可能的。我已经告诉过你这个场景,我想这就足够让你像其他人一样理解了。