我正在使用此代码
try {
String connectionURL = "jdbc:mysql://localhost:3306/mydb";
Connection connection = null;
Class.forName("com.mysql.jdbc.Driver").newInstance();
connection = DriverManager.getConnection(connectionURL, "root", "");
if(!connection.isClosed())
System.out.println("Successfully connected to " + "MySQL server using TCP/IP...");
ResultSet rs = null;
Statement statement = null;
statement = connection.createStatement();
// sql query to retrieve values from the secified table.
String QueryString = "SELECT `Text` FROM `card` WHERE `CardID`=1";
rs = statement.executeQuery(QueryString);
String arabictext ="";
while (rs.next()) {
System.out.println(rs.getString(1));
arabictext += rs.getString(1);
}
rs.close();
statement.close();
}
catch(Exception ex){
System.out.println("Unable to connect to database.");
}
Text
表中的 card
列为text
类型,utf8_unicode_ci
排序规则。
当我执行以上查询以获取阿拉伯文本时,它没有以正确的格式显示,而是显示问号,如?????
。
我在控制台和jsp页面上打印它,但它在两者上显示???
。
答案 0 :(得分:0)
您可能正在寻找Character Encoding
如果你甚至不知道在哪里获得阿拉伯字符,但是你想要显示它们,那么你就会做错事。
保存包含编码为UTF-8的阿拉伯字符的文件。一个好的编辑器允许您设置字符编码。在HTML页面中,将以下内容放在:
之后<meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
如果你正在使用XHTML:
<meta http-equiv="Content-Type" content="text/html;charset=UTF-8" />