utf 8 — преобразование кодировки символов в переполнение стека

У меня есть веб-сайт, который позволяет пользователям вводить имена пользователей.

Проблема здесь в том, что код на c ++ предполагает, что кодировка браузера — Западная Европа, и преобразует строку, полученную из текстового поля имени пользователя, в юникод для сравнения со строкой, хранящейся в базе данных.

при правильной настройке кодировки браузера символ úser принимается как% FAser и корректно пользователь в рамках программы
однако с настройками браузера, установленными на UTF-8, строка принимается как% C3% BAser, а затем преобразуется в úser из-за кода, преобразующего C3 и BA в отдельные символы.

Есть ли способ преобразовать пример% c3% BA в ú, обеспечивая при этом правильные преобразования?

1

Решение

Вы можете использовать Библиотека ICU конвертировать практически все используемые кодировки. Эта библиотека также предоставляет множество возможностей для работы со строками.

2

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]