当前位置: 首页 > 面试题库 >

Java PreparedStatement setString更改字符

董弘新
2023-03-14
问题内容

如标题中所示:可以肯定的是,我正在调试我的应用程序,因此在将字符串放入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”。所以主要的问题是..如何改变呢?


问题答案:

听起来像是我的字符编码问题。也许驱动程序正在将您的字符串转换为适用于字段/表/模式/数据库的适当编码,而不是让服务器执行?如果您试图存储在字段/表/模式/数据库的编码中没有表示形式的字符,这将解释“?”
字符。



 类似资料:
  • 本文向大家介绍iOS更改字体,包括了iOS更改字体的使用技巧和注意事项,需要的朋友参考一下 示例 Swift Objective-C            

  • 使用DOM PDF创建一些报告,但是我唯一遇到的问题是设置无衬线字体。 我尝试了几乎所有的方法来设置CSS中可能的字体,但它总是以衬线字体呈现。 我并没有试图呈现一个自定义字体,只是一些简单的东西,比如helvetica或arial。 有没有其他人有过这个问题,或者知道为什么它可能会默认为衬线? 注意:应用程序在CodeIgnitor上运行。

  • 问题内容: 我有一个传统的postgres db,它具有将日期列强制转换为字段(不要问)。我想更改表和列以包含实际日期。因为这有效: 我天真地认为这可能有效: 但事实并非如此。有无知的线索吗? 问题答案: 这 恰好 符合OP的要求。我们这里有一个简单的思想/错别字。 在手册中了解有关ALTER TABLE的更多信息 。 演示: 提示:您写的不是。

  • 除了这个问题:更改超文本标记语言电子邮件正文字体类型和大小在VBA,我想知道如何才能改变字体大小 当我从代码中删除字体大小时,它确实改变了字体系列。 谢谢你的协助,

  • 问题内容: 我打算在微调器中将文本字体更改为arialbold。以下是我的代码:- 问题答案: 类: 版面: my_spinner_style.xml TTF文件

  • 问题内容: 如何更改所使用的默认编码? 参数使用UTF-8编码。如何使用ISO 8859-1进行编码? 问题答案: 您可以使用: