Кодировка WebServer и UTF-8 - PullRequest
       13

Кодировка WebServer и UTF-8

2 голосов
/ 30 августа 2011

Я пишу веб-сервер на Java, и когда браузер отправляет строку (с GET или POST) с акцентированными символами (например, à è ì ò ù), сервер получает странные символы.Я думаю, что я должен использовать кодировку UTF-8, но я не знаю как.Можете ли вы предложить мне решение?(все в порядке, как на стороне клиента, так и на стороне сервера) Спасибо за совет!

[EDIT] Я использую InputStreamReader на веб-сервере.Я сделал тест, отправив «а» и перехватил http-пакет с помощью wireshark:

Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.3\r\n ... text=%E8%E0%EC%F2%F9

1 Ответ

2 голосов
/ 30 августа 2011

Вам необходимо прочитать входной поток из сокета, используя InputStreamReader, который построен с "UTF-8" в качестве 2-го аргумента.Но если клиент указал charset в заголовке запроса Content-Type, вы должны использовать его вместо этого.

...