简体   繁体   English

XMLParsing字符串编码

[英]XMLParsing String encoding

I am currently parsing a XML file containing lots of geo-data. 我目前正在解析一个包含大量地理数据的XML文件。

Basically the file contains a list of cities that may contain this example list of alternative names for foreign languages. 基本上,该文件包含一个城市列表,其中可能包含此示例的外语替代名称列表。 The example shown shows a list of alternative names for Berlin: 所示示例显示了柏林的备用名称列表:

        <alternateName lang="af">Berlyn</alternateName>
        <alternateName lang="als">Berlin</alternateName>
        <alternateName lang="an">Berlín</alternateName>
        <alternateName lang="ang">Berlin</alternateName>
        <alternateName lang="ar">برلين</alternateName>
        <alternateName lang="arc">ܒܪܠܝܢ</alternateName>
        <alternateName lang="ast">Berlín</alternateName>
        <alternateName lang="bar">Berlin</alternateName>
        <alternateName lang="be">Бэрлін</alternateName>
        <alternateName lang="bg">Берлин</alternateName>
        <alternateName lang="bn">বার্লিন</alternateName>
        <alternateName lang="br">Berlin</alternateName>
        <alternateName lang="bs">Berlin</alternateName>
        <alternateName lang="ca">Estat de Berlín</alternateName>
        <alternateName lang="cs">Berlín</alternateName>
        <alternateName lang="csb">Berlëno</alternateName>
        <alternateName lang="cv">Берлин</alternateName>
        <alternateName lang="cy">Berlin</alternateName>
        <alternateName lang="da">Berlin</alternateName>
        <alternateName lang="de">Berlin</alternateName>
        <alternateName lang="el">Βερολίνο</alternateName>
        <alternateName lang="en">Berlin</alternateName>
        <alternateName lang="eo">Berlino</alternateName>
        <alternateName lang="es">Berlín</alternateName>
        <alternateName lang="et">Berliin</alternateName>
        <alternateName lang="eu">Berlin</alternateName>
        <alternateName lang="fa">برلین</alternateName>
        <alternateName lang="fi">Berliini</alternateName>
        <alternateName lang="fo">Berlin</alternateName>
        <alternateName lang="fr">Berlin</alternateName>
        <alternateName lang="ga">Beirlín</alternateName>
        <alternateName lang="gd">Berlin</alternateName>
        <alternateName lang="gl">Berlín</alternateName>
        <alternateName lang="hbs">Berlin</alternateName>
        <alternateName lang="he">ברלין</alternateName>
        <alternateName lang="hr">Berlin</alternateName>
        <alternateName lang="hu">Berlin</alternateName>
        <alternateName lang="hy">Բերլին</alternateName>
        <alternateName lang="ia">Berlin</alternateName>
        <alternateName lang="iata">BER</alternateName>
        <alternateName lang="id">Berlin</alternateName>
        <alternateName lang="io">Berlin</alternateName>
        <alternateName lang="is">Berlín</alternateName>
        <alternateName lang="it">Berlino</alternateName>
        <alternateName lang="ja">ベルリン</alternateName>
        <alternateName lang="jv">Berlin</alternateName>
        <alternateName lang="ka">ბერლინი</alternateName>
        <alternateName lang="ko">베를린</alternateName>
        <alternateName lang="ku">Berlîn</alternateName>
        <alternateName lang="kw">Berlin</alternateName>
        <alternateName lang="la">Berolinum</alternateName>
        <alternateName lang="lb">Berlin</alternateName>
        <alternateName lang="li">Berlien</alternateName>
        <alternateName lang="link">http://en.wikipedia.org/wiki/Berlin</alternateName>
        <alternateName lang="lt">Berlynas</alternateName>
        <alternateName lang="lv">Berlīne</alternateName>
        <alternateName lang="mk">Берлин</alternateName>
        <alternateName lang="mr">बर्लिन</alternateName>
        <alternateName lang="ms">Berlin</alternateName>
        <alternateName lang="nds">Berlin</alternateName>
        <alternateName lang="nl">Berlijn</alternateName>
        <alternateName lang="nn">Berlin</alternateName>
        <alternateName lang="no">Berlin</alternateName>
        <alternateName lang="nrm">Bèrlîn</alternateName>
        <alternateName lang="oc">Berlin</alternateName>
        <alternateName lang="pdc">Berlin</alternateName>
        <alternateName lang="pl">Berlin</alternateName>
        <alternateName lang="pms">Berlin</alternateName>
        <alternateName lang="pt">Berlim</alternateName>
        <alternateName lang="qu">Berlin</alternateName>
        <alternateName lang="rm">Berlin</alternateName>
        <alternateName lang="ro">Berlin</alternateName>
        <alternateName lang="ru">Берлин</alternateName>
        <alternateName lang="scn">Birlinu</alternateName>
        <alternateName lang="sk">Berlín</alternateName>
        <alternateName lang="sl">Berlin</alternateName>
        <alternateName lang="sq">Berlini</alternateName>
        <alternateName lang="sr">Берлин</alternateName>
        <alternateName lang="sv">Berlin</alternateName>
        <alternateName lang="sw">Berlin</alternateName>
        <alternateName lang="ta">பெர்லின்</alternateName>
        <alternateName lang="th">เบอร์ลิน</alternateName>
        <alternateName lang="tr">Berlin</alternateName>
        <alternateName lang="ty">Berlin</alternateName>
        <alternateName lang="ug">بېرلىن</alternateName>
        <alternateName lang="uk">Берлін</alternateName>
        <alternateName lang="vi">Berlin</alternateName>
        <alternateName lang="vo">Berlin</alternateName>
        <alternateName lang="yi">בערלין</alternateName>
        <alternateName lang="zh">柏林</alternateName>

The XML-Header looks like this: <?xml version="1.0" encoding="UTF-8" standalone="no"?> XML标题看起来像这样: <?xml version="1.0" encoding="UTF-8" standalone="no"?>

The parsing itself works perfectly fine, except that a lot of the names are not displayed correctly due to a formatting issue. 解析本身可以很好地进行,但是由于格式问题,很多名称不能正确显示。 I tried UTF-8-encoding with no success. 我尝试了UTF-8编码,但没有成功。

My question now is what would be the correct way to encode the data so it is shown corretly? 我的问题现在是编码数据以便正确显示的正确方法是什么?

Thanks in advance! 提前致谢!

You don't say how you are loading the XML, which is probably where there problem lies if it's an encoding issue. 您没有说如何加载XML,如果是编码问题,这可能就是问题所在。

However, I think the problem is more likely to be that the font you are using to display the text doesn't support all of the characters sets for all of those languages. 但是,我认为问题很可能是您用来显示文本的字体不支持所有这些语言的所有字符集。 For example, if you are successfully seeing some non-latin words, but not others, then that is almost certainly the problem. 例如,如果您成功看到了一些非拉丁词,但没有看到其他词,那么几乎可以肯定是问题所在。

iOS does support font fallback to a certain extent, but different versions of iOS work differently in that regard, and looking at the range of character sets you've shown in that sample, I would be surprised if all of those character sets were supported. iOS确实在某种程度上支持字体回退,但是不同版本的iOS在这方面的工作方式有所不同,并且查看该示例中显示的字符集范围,如果支持所有这些字符集,我会感到惊讶。

尝试编码=“ ISO-8859-1”看看此站点http://msdn.microsoft.com/zh-cn/library/aa468560.aspx

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM