Преобразовать строку из одной кодировки в другую - PullRequest
0 голосов
/ 26 октября 2011

Я сгенерировал XML-документ в виде текстового файла, в котором указано, что он должен быть закодирован как UTF-8. Когда я проверяю соответствие схеме, он сообщает, что в файле есть недопустимый символ.

An invalid character was found in text content.

Подозреваемый символ имеет значение в один байт 0x92.

В Visual Basic я использую переменную dom типа DOMDocument60; и сделайте следующее

Set nod = dom.createElement("dc.description")
nod.text = Trim$(Nz(rs!mDescription, ""))

Это источник ошибки. У меня такое ощущение, что мне нужно выполнить преобразование набора символов, чтобы правильно кодировать подозрительный символ в utf-8.

У меня есть конкретные вопросы:

1) Какой набор символов является моей отправной точкой? Строка поступает из базы данных access-2010 (тип заметки)

2) Как мне преобразовать его в UTF-8?

Я не знаю, как это сделать. Я не очень знаком с VBA.

1 Ответ

0 голосов
/ 26 октября 2011

Персонаж, вызывающий у вас горе, известен как умная цитата или фигурная цитата.Это выглядит так: '

Эта проблема на самом деле не связана с Access, за исключением того факта, что вам нужно найти способ в Access / VBA для ее решения.По какой-то причине ваш XML содержит недопустимые символы XML.

Я могу придумать два варианта.Первый вариант - заменить символ стандартной не-умной цитатой.Вот некоторый не элегантный код для быстрой замены сразу всех четырех возможных умных кавычек:

Replace(Replace(Replace(Replace(MyString, Chr(147), Chr(34)), Chr(148), Chr(34)), Chr(145), Chr(39)), Chr(146), Chr(39))

Второй вариант - заменить оскорбительные символы, если вы действительно их хотите, соответствующими XML / HTMLкод символа, который для конкретного символа, с которым у вас возникают проблемы, выглядит следующим образом:

’

Вы можете использовать замену для входящих данных, чтобы они сохранялись с допустимыми символами с самого начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...