[英]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.