【问题标题】:Struts 2 Display Issue with Spanish TextStruts 2 显示西班牙语文本的问题
【发布时间】:2013-03-13 20:42:19
【问题描述】:

我有一个 Struts 2 应用程序,它有一个由 Struts s:text 标签使用的西班牙语属性文件。但是,Web 浏览器中生成的页面中有乱码,如下所示:

Contraseña:

属性文件中的值为:

password = Contraseña

我最初认为问题在于我的属性文件的编码,但 Notepad++ 和标准 Windows 记事本都报告它保存为 UTF-8。

我还能做些什么来修复我的属性文件中的字符吗?

【问题讨论】:

  • 这不仅仅是属性文件的问题(我只熟悉通过native2ascii编码),它也是页面编码。
  • @Dave-Newton - 在我的 jsp 页面的开头,我有以下标题: .........设置页面编码够吗?
  • 其他任何方法都可能解决问题。
  • 哈!现在我们都知道你的密码了!! :>
  • 请参阅 BalusC 的这个出色答案:stackoverflow.com/a/14178117/1654265。仔细阅读,尽情享受。

标签: java character-encoding struts2 html-entities


【解决方案1】:

问题在于浏览器,您应该将这些字符作为HTML entity 提供,例如: ñ,您可能希望直接这样编写它们,或者使用工具将这些值转换为 HTML entities

为了避免其他开发人员和编辑使用不是UTF8 的问题,在文件中,最好的方法是以Unicode 格式存储这些字符串,您可以用您的母语(例如西班牙语)和之后输入它们运行native2ascii 命令将它们转换为unicode...

这样做的好处是每个人都可以打开.java.jsp 文件...如果他们想使用这些短语,那么他们打开属性文件...

【讨论】:

    【解决方案2】:

    您的问题是,默认情况下,读取属性文件时假定编码是 ASCII,这真的很糟糕。

    我有一个关于同一问题的未回答的问题。

    Struts2: UTF .properties

    我知道 ResourceBundle 可以管理 UTF-8 文件(我在那个问题中说如何做到这一点并放置一个链接到已完成并使用 un JSF 的页面)但不知道如何在 struts2 中做到这一点

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-04-14
      • 2013-07-22
      • 1970-01-01
      • 2017-12-29
      • 1970-01-01
      • 2012-11-24
      • 1970-01-01
      相关资源
      最近更新 更多