【发布时间】:2015-07-29 16:04:31
【问题描述】:
我做了一个应用程序,我必须将用户保存在 mysql 中 但是当用户在mysql中有这样的名字“Michał”(带有波兰字符)时,他会像这样“Micha?”如何改变这个?在 mysql 中,我有编码 utf-8。
这是我的代码:
public void save() {
Connection conn = Main.getMySQL().getConnection();
if (conn == null) {
try {
conn = Main.getMySQL().openConnection();
} catch (Exception e) {
e.printStackTrace();
}
}
PreparedStatement st = null;
StringBuilder query = new StringBuilder();
query.append("INSERT INTO `HelperTime` (`uid`, `name`,`time`,`idletime`) ")
.append("VALUES (?,?,?,?) ON DUPLICATE KEY UPDATE ")
.append(" `uid`=VALUES(`uid`), `name`=VALUES(`name`), `time`=VALUES(`time`), ")
.append("`idletime`=VALUES(`idletime`)");
try {
st = conn.prepareStatement(query.toString());
st.setString(1, uid);
st.setString(2, name);
st.setLong(3, time);
st.setLong(4, idleTime);
st.executeUpdate();
} catch (SQLException e) {
e.printStackTrace();
}
Main.getMySQL().closeResources(null, st);
}
【问题讨论】:
-
您使用什么编程语言?你的代码是什么样的?当您将输入字符串传递给 MySQL 时,您的输入字符串是否已经采用 UTF-8 格式?请提供更多详细信息。
-
我在java中编程,但我必须将用户名保存到mysql
-
再次,请显示您正在使用的实际代码。
-
pastebin.com/CvKhPbe4 我必须使用粘贴,因为这段代码有很多字符,当我将名称保存到 mysql 时,它会将特殊字符更改为“???”
-
该代码甚至没有太多字符可以发布在 StackOverflow 上。我现在已经把它放在你的问题中了。