我正在开发一个多语言的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 été conçu á fin de vous guider.</string>
上面的代码会生成错误。
我找不到解决方案,所以如果有人可以提供帮助,我将非常感激。谢谢
答案 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