我无法从我的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文件。下图显示了其内容。
我已使用以下查询<。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);
下图显示了数据如何存储在我的数据库表中。
这就是我试图查找我的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>
下图显示了我的代码的输出。
答案 0 :(得分:1)
请提供这些图片的机器可读版本。
请针对某些损坏的文字执行SELECT col, HEX(col) FROM tbl WHERE ...;
,以便我们确定数据是否已正确存储。
与此同时,我猜你有Mojibake。有关讨论和解决方案,请参阅duplicate,包括如何通过一对ALTER TABLEs
恢复数据。