簡體   English   中英

Java KML不讀取希臘字符

[英]java kml doesn't read greek characters

我想為我將在下面顯示的問題尋求解決方案。 我讀取了帶有kml.unmarshal的希臘字符的kml文件,並且收到了這些字符Ξ” Ξ—ΞーΞーΣΙΙΙΧΩΡΠΡΙ

    final Kml kml = Kml.unmarshal(new File("something.kml"));
    final de.micromata.opengis.kml.v_2_2_0.Document document = (de.micromata.opengis.kml.v_2_2_0.Document) kml.getFeature();
    List<Feature> t = document.getFeature();
    for (Object o : t) {
        PointOfInterest poi = new PointOfInterest();

        Folder f = (Folder) o;
        List<Feature> tg = f.getFeature();
        for (Object ftg : tg) {

            Placemark g = (Placemark) ftg;
            ExtendedData extdat = g.getExtendedData();
            List<SchemaData> list = extdat.getSchemaData();
            List<SimpleData> list2 = list.get(0).getSimpleData();
            for (int i = 0; i < list2.size(); i++) {
                SimpleData dat = list2.get(i);
                //  System.out.println(dat.getName() + "  -  " + dat.getValue());
                if (dat.getName().equals("newcat"))
                   if (dat.getValue().equalsIgnoreCase("Ελληνικοι χαρακτηρες"){...}}}

該代碼不是我的代碼,我嘗試找出dat.getvalue具有希臘字符時為何具有以下內容Ξ” Ξ—ΞーΞーΣΙΞ́ΙΧΩΡΞ́Ξ™ 。

編輯:

我嘗試使用

最后的Kml kml = Kml.unmarshal(new FileInputStream(new File(“ something.kml”)),“ UTF8”))

我收到以下錯誤。為什么?

沒有為unmarshal(FileInputStream,String)找到合適的方法方法Kml.unmarshal(InputStream)不適用(實際和正式參數列表的長度不同)方法Kml.unmarshal(String)不適用(實際和正式參數列表的長度不同) )方法Kml.unmarshal(File)不適用(實際和正式參數列表的長度不同)方法Kml.unmarshal(File,boolean)不適用(實際參數FileInputStream無法通過方法調用轉換轉換為File)

未報告的異常FileNotFoundException; 必須被抓住或宣布被拋出

';' 預期

在頁面上: http : //labs.micromata.de/projects/jak/quickstart.html您可能還會看到xml中指定了編碼:

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

當他們使用時:

final Kml kml = Kml.unmarshal(new File("HelloKml.kml"));

事實就是如此。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM