Неверный импорт парсинга xml в sql mac roman

У меня есть XML, который говорит, что это кодировка UTF-8. Когда я использую openxml для импорта данных в sql, я всегда получаю "синтаксический анализ XML: строка xxxxxx, символ xx, недопустимый символ xml.

Прямо сейчас я могу перейти к каждой строке и заменить ее на юридический символ, и все идет хорошо. Иногда может быть более 5 мак-римских персонажей, и заменить их становится утомительно. В настоящее время я использую блокнот ++ и, вероятно, есть способ для этого.

Кто-нибудь может предложить, если что-нибудь можно сделать на уровне SQL или это нужно проверить перед запуском в SQL?

На данный момент большинство найденных символов: x95, x92, x96, xbc, xbd, xbo.

Благодарю.

1 ответ

В своем вопросе вы не указали, были ли недопустимые символы, которые вы должны были удалить, Unicode или нет. Или действительно ли файл должен содержать символы UTF-8. В отличие от ASCII, для UTF-8 некоторые комбинации байтов недопустимы, поэтому, если вы объявите текстовый файл для кодирования в UTF-8, вы не сможете прочитать его успешно до конца (такого никогда не случится с ASCII).

Так что возможно, что путем удаления <?xml version="1.0" encoding="UTF-8"?> Вы только что объявили некоторую не-Unicode-кодировку вашего файла (вместо ранее объявленной UTF-8), поэтому чтение данных прошло. У вас не было много иностранных символов, таких как ľťčý в файле, ты? Обычно необходимо проверить, что случилось с ними после импорта. Может случиться так, что ваш импорт пройдет без ошибок, но название города Čadca становится äadca и кто-то поблагодарит вашу компанию за то, что вы сделали его адрес нечитабельным.

Другие вопросы по тегам