使用jsp从mysql中检索unicode数据

时间:2015-06-18 05:09:49

标签: mysql jsp unicode

我无法从我的mysql数据库中检索我的unicode数据。帮我。我已经简要介绍了如何创建我的unicode数据库表以及我如何尝试检索unicode数据。

这是将我的unicode(tamil)数据存储到xampp服务器窗口8中的mysql中的方式。

  • 我使用create database library
  • 创建了一个数据库
  • 在db中,我使用

    创建了一个表
    create table book (
    id integer primary key auto_increment,
    name text default '',
    auth text default ''
    ) engine=InnoDB default charset=utf8 collate=utf8_unicode_ci;
    
  • 我有一个以utf-8编码的.csv文件。下图显示了其内容。

    csv file content - image

  • 我已使用以下查询<。p>将.csv输入到表中

    load data local infile 'C:\\Users\\Ramvignesh\\Desktop\\lib1.csv' into table library.book fields terminated by ',' enclosed by '"' lines terminated by '\r\n' (id,name,auth);
    
  • 下图显示了数据如何存储在我的数据库表中。

    db table - image

这就是我试图查找我的unicode(泰米尔)数据的方式。

  • 我创建了一个jsp代码,如下所示。

    <%@ page import="java.sql.*"%>
    <%@ page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
    <!DOCTYPE html>
    <html>
    <head>
        <meta http-equiv="content-type" content="text/html; charset=UTF-8">
    </head>
    <body>
      <%
                PreparedStatement st=null;
                ResultSet rs=null;
                Class.forName("com.mysql.jdbc.Driver"); 
                Connection con = DriverManager.getConnection("jdbc:mysql://localhost:3306/library","root","");
      %>
                <table> 
                <thead>
                    <tr>
                        <th>id</th>
                        <th>name</th>
                        <th>author</th>
                    </tr>
                </thead>
                <tbody>
      <%
                st= con.prepareStatement("select * from book");
                rs=st.executeQuery();
                while(rs.next()){
    
      %>
                <tr>
                    <td><% out.println(rs.getString(1));%></td>
                    <td><% out.println(rs.getString(2));%></td>
                    <td><% out.println(rs.getString(3));%></td>
                </tr>
      <%    
               }
      %>
            </tbody>
            </table>
    </body>
    </html>
    
  • 下图显示了我的代码的输出。

    jsp page - image

1 个答案:

答案 0 :(得分:1)

请提供这些图片的机器可读版本。

请针对某些损坏的文字执行SELECT col, HEX(col) FROM tbl WHERE ...;,以便我们确定数据是否已正确存储。

与此同时,我猜你有Mojibake。有关讨论和解决方案,请参阅duplicate,包括如何通过一对ALTER TABLEs恢复数据。