получение неверной строки хинди из MySQL с использованием JSP - PullRequest
0 голосов
/ 07 сентября 2011
here are the settings

this time using odbc connection

![showing u the settings][1]


[1]: http://i.stack.imgur.com/4f2bD.jpg

and

![ i have mentioned utf8 here][1]


[1]: http://i.stack.imgur.com/C9fo5.jpg

here is my code


<%-- 
Document   : index.jsp
Created on : 30 Aug, 2011, 10:57:05 AM
Author     : Sahil
--%>
<%@page contentType="text/html" pageEncoding="UTF-8" import = "java.sql.*;"%>
<%@page import = "java.util.*"%>
<%@ page import = "java.io.*"%> 
<%@page import= "java.lang.RuntimePermission" %>
<!DOCTYPE html>
<html>
<head>
 <title>Punjabi-Hindi Dictionary | Output</title>
 <link href="style.css" rel="stylesheet" type="text/css" media="screen" />
</head>
<body>
  <form accept-charset="UTF-8">  
    <%

    try
      { 
       if (request.getCharacterEncoding() == null) 
           request.setCharacterEncoding("UTF-8");
       Connection cn;

       Statement st;
       ResultSet rs;
       Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
       cn=DriverManager.getConnection("jdbc:odbc:myodbc","root","");
       st=cn.createStatement();   
       rs=st.executeQuery("select * from stu_info");
       while(rs.next()){
       String Name= rs.getString("Name");

     %> 
     <%=Name%>
     <br>
      <%
                        }
     rs.close();
     st.close();
     cn.close();
     }
     catch(Exception ex)
     {
      out.println(ex.getMessage());
     }
      %>

    </form>    
    </body>
  </html>

  this time it gives me diffrent output

  साहिल
  साहिलसाहिल 

1 Ответ

0 голосов
/ 07 сентября 2011

Очевидно, что ваш вывод в одностраничной кодировке (например, ISO-8859-1), а не в UTF-8, это может иметь несколько причин:

  • Вы проверили, правильно ли хранятся данныев вашей базе данных?Если нет, вам следует проверить, соответствует ли таблица, которую вы используете для хранения данных, UTF-8
  • Правильно ли настроено соединение с вашей базой данных для использования UTF-8?Я не знаю, как это сделать для odbc, но для драйвера mysql-jdbc вам может потребоваться добавить это в URL-адрес вашей конфигурации:

    characterEncoding = utf-8

...