2009-09-27 6 views
1

Я использую Google Translate, чтобы перевести много слов, которые затем хранятся в БД, используя этот код:Google перевод - получение неанглийских символов

http://www.developerfusion.com/community/blog-entry/8391765/translate-text-in-c-using-google- translate/

string txt = Translator.TranslateText("Cosmetics", "en|sr"); Response.Write(txt);

Перевод текста (строка TXT) правильно показывает в браузере: Козметика

но источник результат выглядит следующим образом: Козметика

Проблема в том, что я не хочу вставлять эту результирующую скремблированную строку txt в БД, но вместо этого хочу поместить «Козметика» так же, как я бы делал это из ввода TextBox. Так что же здесь происходит?

Я полагаю, что он должен что-то делать с кодовыми страницами и кодировкой юникода.

Благодаря

Daniel

ответ

4

Что вы получаете это HTML закодированные сущности персонажей в тексте. Каждый символ кодируется в HTML entity, чтобы он отображался правильно в браузерах.

Чтобы изменить его обратно в оригинальный характер, вы можете использовать метод HttpUtility.HtmlDecode:

string encoded = "Козметика"; 
string decoded = HttpUtility.HtmlDecode(encoded); 

Это будет декодировать кодированный текст обратно в Козметика.

Смежные вопросы