【问题标题】:Retrieve unicode data from mysql using jsp使用jsp从mysql中检索unicode数据
【发布时间】:2015-06-18 05:09:48
【问题描述】:

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

这就是在 xampp 服务器 Windows 8 中将我的 Unicode(泰米尔语)数据存储到我的 mysql 中的方式:

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

    创建了一个表
    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 输入到表中

    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 表中的。

这就是我尝试检索我的 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>
    
  • 下图显示了我的代码的输出。

【问题讨论】:

    标签: mysql jsp unicode


    【解决方案1】:

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

    SELECT col, HEX(col) FROM tbl WHERE ...; 处理一些损坏的文本,以便我们确定数据是否存储正确。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-09-08
      • 1970-01-01
      • 2019-05-05
      • 2019-05-27
      • 1970-01-01
      • 2016-05-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多