验证消息GWT i18n编码问题

时间:2014-05-22 04:58:45

标签: java maven gwt encoding internationalization

我使用Java,GWT,Spring,Maven和Tomcat。存储在.properties文件中的字段验证消息中的每一个都保存了UTF-8编码。其中一个文件有用俄语写的字,所以当我将网络界面语言改为俄语时,我会收到错误编码的验证信息,如下所示:

нÐμÐ'олжнобÑÑÑnull

(来自文件的右侧消息如下:недолжнобытьnull)

本地化消息按类提供,扩展了com.google.gwt.i18n.client.Messages

有什么建议吗?

1 个答案:

答案 0 :(得分:0)

我用Native2Ascii Maven插件解决了我的问题。通过选择正确的工作目录('target'目录而不是'source')和插件执行的正确阶段来解决这个问题。 '测试'阶段适合我。所以文件正在目标目录中复制,然后以ANSI编码进行转换,但原始文件保持不变。这是我的配置:

<project>
  [...]
  <build>
    [...]
    <plugins>
      [...]
      <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>native2ascii-maven-plugin</artifactId>
        </executions>
          <execution>
            <execution>
                    <id>native2ascii-utf8-validation</id>
                    <phase>test</phase>
                    <goals>
                        <goal>native2ascii</goal>
                    </goals>
                    <configuration>
                        <encoding>UTF8</encoding>
                        <includes>
                            <include>ValidationMessages*.properties</include>
                        </includes>
                        <workDir>${basedir}/target/classes/app/validation</workDir>
                    </configuration>
                </execution>
          </execution>
          [...]
        </executions>
        [...]
      </plugin>
      [...]
    </plugins>
    [...]
  </build>
  [...]
</project>