我无法从 mysql 数据库检索 unicode 数据。帮我。我已经简要介绍了如何创建 unicode 数据库表以及如何尝试检索 unicode 数据。
这是将我的 Unicode(泰米尔语)数据存储到 xampp 服务器 Windows 8 中的 mysql 中的方法:
- 我使用
创建数据库库
创建了一个数据库 在该数据库中,我使用
创建了一个表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);
下图显示了数据如何存储在我的数据库表中。
这是我尝试检索 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>
下图显示了我的代码的输出。
最佳答案
请提供这些图像的机器可读版本。
请对一些损坏的文本执行SELECT col, HEX(col) FROM tbl WHERE ...;
,以便我们可以确定数据是否正确存储。
同时,我猜你有 Mojibake。请参阅duplicate进行讨论和解决方案,包括如何通过一对ALTER TABLE
恢复数据。
关于mysql - 使用jsp从mysql检索unicode数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30906896/