Android XML中的重音字符

时间:2015-02-26 21:36:58

标签: android xml string

我正在开发一个多语言的Android应用程序,但我无法显示特殊的字符(例如:é或è)。我试图用他们的引用(& eacute)替换caracters,但它说“实体& eacute被引用,但未被声明”。

带有特殊字符的XML:

<string name="welcomeMsg1">Cette application a été conçu à fin de vous guider.</string>

当我使用上面的xml文件时,不会显示特殊字符。所以我用他们相应的参考文献替换特殊的caracters。

带引用的XML:

<string name="welcomeMsg1">Cette application a &eacute;t&eacute; con&ccedil;u &aacute; fin de vous guider.</string>

上面的代码会生成错误。

我找不到解决方案,所以如果有人可以提供帮助,我将非常感激。谢谢

2 个答案:

答案 0 :(得分:0)

两种解决方案。第一个要求您为xml文档创建DTD并在DTD中声明<!ENTITY>类型。你可以google。

第二种解决方案非常漂亮,但我不知道它是否有效。 HTML规范具有应该足够的实体类型声明。我发现了这个:

https://stackoverflow.com/questions/16103554/eacute-%C3%A9-need-to-show-as-it-is

String modString = Html.fromHtml(Html.fromHtml((String) yourstring).toString()); 

根据帖子,上面的代码应该为你添加一个带有你字符的样式字符串。

HTML实体列表 http://help.dottoro.com/lausooxp.php

答案 1 :(得分:0)

您需要将strings.xml中的重音字符替换为其unicode值。

例如,您可以编写ó

,而不是撰写\u00f3