2010-04-29 33 views
1

我在使用GWT中的UIBinder,但是在显示重音字母时出现问题。以编程方式添加重音时无法识别重音的字符

我的XML看起来像这样

<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">  
<ui:UiBinder xmlns:ui="urn:ui:com.google.gwt.uibinder" 
xmlns:g="urn:import:com.google.gwt.user.client.ui"> 

... 

<g:Label ui:field="lbl"></Label> 

如果我直接在XML​​口音出来的细型我的文字。但是,如果我在关联的类lbl.setText("éç")中使用setText方法,则它们将被一个带有问号的钻石替换。

编辑:如果如果HTML类型他们这显示符号和东西

SOLUTION:

在我测试的应用程序改变文件格式为UTF-8我没有经过事实通过代码重新输入在更改过程中被打破的所有口音。所以它们在浏览器中仍然显示相同。

回答

3

您还需要将响应编码和客户端编码设置为UTF-8。

添加到您的页面的顶部指示XML解析器使用UTF-8:

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

一下添加到HTML <head>来指导客户端使用UTF-8:

<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" /> 
+0

+1 ..,此外,在内容 - 字符集设置为UTF-8输入http响应头。不知道什么是优先考虑的,但全面贯彻始终如一。 – 2010-04-29 14:02:00

+0

@sri:如果XML解析器很聪明,它应该已经基于XML声明完成了:)我不做GWT,但JSF + Facelets(它做类似的工作)做它。我希望GWT也这样做。 – BalusC 2010-04-29 14:15:54

-1

做BalusC任务检查后,您的文件保存选项去>>“文件\ ... AdvancedSaveOptions”,并检查,如果你的页面保存为的Unicode(UTF-8具有签名)代码页650001.

您的问题可能是因为使用的Windows 代码页1252

的只是注意,你必须重新输入Unicode字符串