【发布时间】:2012-12-25 18:26:22
【问题描述】:
我的 Wamp 服务器有问题。当我执行包含土耳其语字符的查询时,我收到此错误:
SEVERE: Incorrect string value: '\xE7l? ya...' for column 'body' at row 1
java.sql.SQLException: Incorrect string value: '\xE7l? ya...' for column 'body' at row 1
这是我的 Java 代码:
Class.forName("com.mysql.jdbc.Driver");
con = DriverManager.getConnection(url, user, password);
PreparedStatement p = con.prepareStatement("SET NAMES utf8");
p.executeUpdate();
PreparedStatement ps =
con.prepareStatement("INSERT INTO duyurular values (?, ?, ?, ?)");
ps.setInt(1, 0);
ps.setString(2, title);
ps.setString(3, body);
ps.setInt(4, writer);
ps.executeUpdate();
我试图写入的数据库和表都设置为“utf8_turkish_ci”排序规则。我的 Wamp 服务器版本是 2.2。
我可以使用 PHPMyAdmin sql 控制台编写土耳其语字符,但无法使用我的 Java 代码。我应该怎么做才能克服这个问题?提前致谢。
【问题讨论】:
-
SQLException表示您的表/数据库不支持这种字符。请参阅here 以更改您的表以支持 UTF8 值。 -
我用谷歌搜索了“不正确的字符串值”并得到了很多相关的结果。
-
@rambo-coder 我也用谷歌搜索了错误消息并尝试了一些建议但没有运气。
-
您是否尝试过使用其他工具或 MySQL 控制台在表中插入?
标签: java mysql character-encoding wampserver turkish