Большинство этих ответов говорят пользователям, как добавить заголовки CORS на сервер, который они контролируют.
Однако, если вам нужны данные с сервера, который вы не контролируете на веб-странице, одним из решений является создание тег сценария на вашей странице, установите атрибут src в конечную точку api, у которой нет заголовков CORS, затем загрузите эти данные на страницу:
window.handleData = function(data) {
console.log(data)
};
var script = document.createElement('script');
script.setAttribute('src','https://some.api/without/cors/headers.com&callback=handleData');
document.body.appendChild(script);
Как исправить эту проблему?
blockquote>Прочитайте данные, используя правильную кодировку символов. Сообщение об ошибке означает, что вы пытаетесь прочитать данные как UTF-8 (намеренно или потому, что это кодировка по умолчанию для XML-файла, который не указывает
<?xml version="1.0" encoding="somethingelse"?>
), но на самом деле он находится в другой кодировке, такой как ISO- 8859-1 или Windows-1252.Чтобы иметь возможность сообщить, как вы должны это делать, мне нужно будет увидеть код, который вы используете в настоящее время для чтения XML.
Я столкнулся с этой проблемой из-за Ant build.
. Ant создала файлы и применила filterchain expandproperties
к ней. Во время этой фильтрации файлов моя неявная стандартная кодировка по умолчанию, отличная от UTF-8, использовалась для генерации фильтрованных файлов, поэтому символы за пределами своего набора символов не могли быть правильно отображены.
Одним из решений было предоставить Ant с явной переменной среды для UTF-8. В Cygwin перед запуском Ant: export ANT_OPTS="-Dfile.encoding=UTF-8"
.
Я столкнулся с одной и той же проблемой, и после длительного изучения моего XML-файла я нашел проблему: было несколько невыраженных символов, таких как «
»
.
У меня была эта проблема, но файл был в UTF-8, это было просто так, как-то на персонаже пришел, что не был закодирован в UTF-8. Чтобы решить проблему, я сделал то, что указано в этом потоке, то есть я проверил файл: Как проверить, действительно ли файл UTF-8?
В основном вы выполняете команду :
$ iconv -f UTF-8 your_file -o / dev / null
И если в UTF-8 есть что-то, что не закодировано, оно даст вам строку и строку номера, чтобы вы могли его найти.
Такие, как я, которые понимают принципы кодирования символов, также читают статью Джоуля , которая смешна, поскольку она содержит неправильные символы в любом случае и до сих пор не может понять, что за черт ( spoiler alert, я пользователь Mac), тогда ваше решение может быть таким же простым, как удаление локального репо и повторное клонирование.
Моя база кода не изменилась с тех пор, как в последний раз она работала нормально, поэтому она сделана нет смысла иметь ошибки UTF, учитывая тот факт, что наша система сборки никогда не жаловалась на это .... до тех пор, пока я не вспомнил, что я случайно отключил свой компьютер несколько дней назад с помощью IntelliJ Idea и всего, что работает (Java / Tomcat / Hibernate)
Мой Mac сделал блестящую работу, притворяясь, что ничего не произошло, и я вел себя как обычно, но основная файловая система была каким-то образом повреждена. Потратил весь день, пытаясь понять это. Надеюсь, это поможет кому-то.
Я получал xml как String и используя xml.getBytes () и получаю эту ошибку. Переход на xml.getBytes (Charset.forName («UTF-8»)) работал для меня.
Попробуйте:
InputStream inputStream= // Your InputStream from your database.
Reader reader = new InputStreamReader(inputStream,"UTF-8");
InputSource is = new InputSource(reader);
is.setEncoding("UTF-8");
saxParser.parse(is, handler);
Если это что-то еще, кроме UTF-8, просто измените часть кодировки для хорошего.