преобразование строки в формат UTF8 - PullRequest
2 голосов
/ 21 октября 2010

Я Java-код, у меня есть строка name = "örebro"; // это шведский символ

Но когда я использую это имя в веб-приложении. Я печатаю какой-то специальный символ в символе «Ö».

Могу ли я в любом случае использовать тот же символ, что и в "örebro".

Я сделал что-то подобное, но не сработало.

String name = "örebro";
byte[] utf8s = name .getBytes("UTF-8"); 
name = new String(utf8s, "UTF-8");

Но имя в конце печатает то же самое, что-то вроде этого. Rebo

Пожалуйста, ведите меня

Ответы [ 4 ]

4 голосов
/ 21 октября 2010

Java-код, который вы предоставили, не имеет смысла, он ничего не даст.Строки Java уже вполне способны кодировать любой символ (хотя вы должны быть осторожны с литералами в исходном коде, поскольку они зависят от кодировки, используемой компилятором, которая зависит от платформы).

Скорее всего, вашпроблема в том, что ваша веб-страница неправильно объявляет кодировку в заголовке HTTP или метатегах HTML.

3 голосов
/ 21 октября 2010

Вам необходимо установить кодировку вашего выхода в UTF8.

1 голос
/ 21 октября 2010

Если страница, используемая для генерации вывода - это jsp, полезно уточнить

<%@ page contentType="text/html; charset=utf-8" %>
1 голос
/ 21 октября 2010

Вероятно, браузер, который читает страницу, не знает кодировку.

  • отправляет заголовок (перед любым другим выводом) что-то в Java, напримерServletResponse resource; (...)resource.setContentType ("text/html;charset=utf-8");

  • на вашей html-странице, укажите кодировку, отправив (распечатав)<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

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