代码之家  ›  专栏  ›  技术社区  ›  Ondra Žižka David Lilljegren

Wicket-“双重”UTF-8编码

  •  1
  • Ondra Žižka David Lilljegren  · 技术社区  · 14 年前

    我有一个Wicket 1.4应用程序。我的.html文件是UTF-8格式的。

    但是当呈现时,页面是双重编码的,就像UTF-8内容被视为cp1250并转换为UTF8一样。

    Maven的pom.xml:

    <properties>
      <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
    </properties>
    ...
    <plugin>
      <inherited>true</inherited>
      <groupId>org.apache.maven.plugins</groupId>
      <artifactId>maven-compiler-plugin</artifactId>
      <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <optimize>true</optimize>
        <debug>true</debug>
        <encoding>utf-8</encoding>
     </configuration>
    </plugin>
    

    你知道我该查什么吗?

    更新: 我找到了答案,见下文。但是,我可以设置读取资源时应使用的默认编码吗?应用程序中的设置优先于env vars。

    谢谢, 昂德拉

    2 回复  |  直到 14 年前
        1
  •  3
  •   J-16 SDiZ    14 年前

    org.apache.wicket.settings.Settings 有一个 setDefaultMarkupEncoding() 方法,它应该做你想做的事。

        2
  •  1
  •   Ondra Žižka David Lilljegren    14 年前

    Wicket关注XML prolog。所以丢失的是

    <?xml version="1.0" encoding="UTF-8"?>
    

    在面板的.html文件中。