Обеспечение правильного кодирования UTF-8 из пользовательского ввода в форме - PullRequest
0 голосов
/ 21 июля 2010

У меня есть веб-форма, написанная на asp.net, которая позволяет пользователю вводить контент, который затем сохраняется в БД и записывается в виде XML-файла для импорта третьей стороной в их системы.

Мы выводим XML-файл как UTF-8.

В настоящее время у них есть проблема, когда символ евро (€) ломает их синтаксический анализатор xml со следующей ошибкой:

Ошибка синтаксического анализатора: неверный ввод UTF-8, укажите кодировку!

Из символа выглядит нормально для меня, но, очевидно, поскольку пользователь может копировать этот символ из любого источника, когда он копирует его в мою форму, он может быть не в кодировке UTF-8.

Мои вопросы:

1.) Как я могу узнать 100%, если символ евро имеет кодировку UTF-8 или нет? Есть ли какой-нибудь редактор, где я могу просмотреть его как UTF-8?

2.) Есть ли способ проверить символ, когда он вводится или вставляется в форму, чтобы убедиться, что он сохранен в кодировке UTF-8?

Спасибо всем за советы!

Ed

1 Ответ

0 голосов
/ 23 июля 2010

Похоже, что вы берете данные веб-формы и помещаете их в XML как есть, без предварительной проверки.Это не очень хорошая идея.Alwyas проверяет ваши данные перед их использованием.Также убедитесь, что на самой веб-форме есть атрибут «charset = utf-8», чтобы совместимые браузеры передавали данные на сервер в UTF-8.

...