Я пытаюсь помочь моему учителю преобразовать греческий учебник в онлайн-приложение. Часть этого включает в себя получение Shapefile (рисует многоугольники на картах вместе с описаниями полигонов.) И отображает все на этой карте. Я не могу напрямую получить доступ к части файла шейп-файла, у которой есть данные, которые мне нужно преобразовать из-за того, что он находится в шестнадцатеричном формате.
В любом случае, вот код, который я печатаю на своей консоли.
Javascript, конвертирующий текст из греческого языка в UTF-8
console.log((arr[1][i]['PERIOD']);
«обр» является массив данных, который содержит все свойства, которые я хочу, чтобы преобразовать из греческого языка в UTF-8. Я печатаю только «ПЕРИОД», а не 12 других пробиотиков, связанных с массивом.
Когда я запускаю свою страницу, консоль возвращает несколько вариантов текста (поскольку существует несколько периодов.) Вот пример текста, который он возвращает.
ÎÏÏαÏκή, ÎλαÏική, ÎλληνιÏÏική
ΡÏμαÏκή
ÎθÏμανική
Î¥ÏÏεÏοβÏζανÏινή
Верьте или нет, но это не греческий текст. Поэтому я и слежения за ними вокруг нашел эту функцию для преобразования в UTF-8:
function encode_utf8(s){
return unescape(encodeURI(s));
}
Когда я добавить эту функцию в моей console.log, это то, что я получаю:
áÃÂüñÃÂúî
ÃÂøÃÂüñýùúî
ÃÂ¥ÃÂÃÂõÃÂÿòÃÂöñýÃÂùýî
ÃÂøÃÂüñýùúî
Я не 100 %, но я думаю, что текст, который я пытаюсь преобразовать, в настоящее время находится в ISO-8859-7.
Любая помощь с этим была бы потрясающей.
Спасибо.
Греческий язык - это язык; UTF-8 является кодировкой (Unicode). Похоже, что вы действительно хотите декодировать ISO 8859-7 (в текст Unicode). – melpomene
Покажите нам, как вы читаете в шейп-файле (или независимо от того, откуда поступают данные). Вот где ваша проблема лежит, и именно здесь вы можете исправить кодировку. – Bergi
Вы должны предоставить нам 1. выписку из «шестнадцатеричного файла», 2. как вы загружаете этот шестнадцатеричный файл в свой _JavaScript_ 3. как вы конвертируете данные, которые вы загрузили в _String_ –