如标题中所示:可以肯定的是,我正在调试我的应用程序,因此在将字符串放入PreparedStatement变量中的地方,特殊字符更改为“?”.我实际上不知道在哪里搜索应该修复的东西,因此我不知道是否需要代码.无论如何,我将在此处放置一些内容:
PreparedStatement stm = null;
String sql = "";
try{
sql = "INSERT INTO methods (name, description) VALUES (?, ?)";
stm = connection.prepareStatement(sql);
stm.setString(1, method.getName());
stm.setString(2, method.getDescription());
//...
}catch(Exception e){}
在方法对象中调试“名称”字段时是正确的,但是将其添加到stm变量后,将其字符更改为“?”.
我已经找到了一个关于SO上类似西他那肽的话题,但是没有任何答案可以帮到我,因为我完全知道在语句中添加字符串,而不是在数据库中,这是不正确的.但是我不知道
有任何建议吗?
PS.我正在使用netbeans 6.7.1版本
编辑:我正在使用标准的netbeans调试器进行调试,并且在向’stm’变量添加字符串之前正在检查变量的状态.我什至将getName()方法更改为带有特殊字符的静态字符串.因此,可以肯定,使用Method类可以正常进行.
EDIT2:我又做了一个测试.检查的stm变量及其属性之一是设置为“ cp1252”的“ charEncoding”.所以主要的问题是..如何改变呢?