Чтение греческого текста из jdbc / SQL Server 2005 и отображение его с помощью сервлета - PullRequest
2 голосов
/ 13 апреля 2010

Ну, субъект говорит все это, но я объясню немного дальше.

У меня есть база данных в MS SQL Server 2005, которая содержит греческий текст. Я создал сервлет, который подключается к этой базе данных с помощью net.sourceforge.jtds.jdbc.Driver и получает некоторые данные с помощью следующих команд:

Connection con = DriverManager.getConnection(connectionUrl);
Statement sta = con.createStatement(); 
ResultSet res = sta.executeQuery("SELECT * FROM data");

После этого я хочу использовать output.println для отображения данных на странице. В результате греческие символы отображаются в виде вопросительных знаков (?). Я попытался изменить кодировку кодировки браузера, но не повезло, поэтому проблема должна быть на странице. Я также попытался отобразить

new String( res.getBytes("text"), "ISO-8859-7");

вместо res.getString("text"), с разными кодировками (UTF-8, UTF-16), но все равно не повезло!

Что я могу сделать, чтобы увидеть греческие символы?

Ответы [ 2 ]

1 голос
/ 13 апреля 2010

Вам необходимо установить кодировку ответа в UTF-8. Поскольку вы обычно используете JSP для отображения данных, вы можете сделать это, поместив следующую строку в верхней части страницы JSP:

<%@ page pageEncoding="UTF-8" %>

Также см. в этой статье для получения дополнительной справочной информации и всех других аспектов, которые необходимо учитывать также для веб-приложения Java EE.

1 голос
/ 13 апреля 2010

Проблема может быть в нескольких местах. Проверьте их все:

  • база данных, кодировка
  • кодировка соединения
  • кодировка ответа (response.setCharacterEncoding("utf-8"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...