JavaPreparedStatementsetString改变字符

2023-11-30

正如标题所示:可以肯定的是,我正在调试我的应用程序,因此在我将字符串放入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){}

在调试方法对象中的“name”字段时是正确的,但是将其添加到 stm 变量后,它将其字符更改为“?”。

我在 SO 上找到了一个关于类似 sitoatuin 的主题,但是没有任何答案可以帮助我,因为我确切地知道将字符串添加到语句中而不是在数据库中存在问题。但我不知道什么..

有什么建议么?

附言。我使用的是netbeans 6.7.1版本

编辑:我正在使用标准 netbeans 调试器进行调试,并在将字符串添加到“stm”变量之前检查变量的状态。我什至将 getName() 方法更改为带有特殊字符的静态字符串。所以可以肯定 Method 类一切正常。

EDIT2:我又做了一项测试。检查了 stm 变量,它的属性之一是“charEncoding”,它设置为“cp1252”。所以主要问题是..如何改变这一点?


这通常发生在使用不同的字符集在不同的地点。听起来好像您正在以 UTF-8 形式获取输入,并将其转换为另一个聊天集(可能您的数据库设置为其他内容),这会破坏特殊字符。

解决这个问题:使用相同的字符集到处*。 (我建议使用UTF-8)

*看一眼this or 我对另一个话题的回答(这是关于php的问题,但在java中几乎是一样的)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

JavaPreparedStatementsetString改变字符 的相关文章

随机推荐

  • 如何从命令提示符以“以管理员身份运行”运行应用程序? [关闭]

    Closed 这个问题是无关 目前不接受答案 我有一个名为的批处理文件test bat 我正在调用以下说明test bat file start min powershell exe sysdrive testScripts testscr
  • Django:模型名称冲突

    我正在尝试在我的项目中使用不同的开源应用程序 问题是两个不同的应用程序使用相同的模型名称并具有自己的模型定义 我尝试使用 class Meta db table db name 但没有成功 我在syncdb 上仍然遇到字段名称冲突错误 有什
  • 类型错误:无法读取 AngularJS 指令中未定义的属性“childNodes”

    我正在 AngularJS 中制作一个指令 Tab Slide Out 如下所示 angular module myApp directive tabSlideOut window document timeout function win
  • 在matlab中改变音频wav文件的音高?

    如何在 matlab 中改变音频信号的音调 本质上我只是想改变音频信号的原始质量而不做巨大的改变 我尝试使用原始输入音频通过稍微改变其质量来模拟合唱 以便我可以使用音频的多种变体来模拟合唱 最简单的方法可能是相位声码器 您可以在这里找到一种
  • 如何在 ASP.Net 站点中启用 FCKeditor 的实时预览?

    Over in this对于这个问题 Scott 写道 可以通过使用来获取 FCKeditor 中写入内容的当前 HTMLFCKeditorAPI Instances instanceNameHere GetHTML 有人可以提供有关如何在
  • Android:如何混合 2 个音频文件并使用 soundPool 重现它们

    我正在尝试开发一个 Android 应用程序 它使用一些声音并将它们混合在一起来创建音乐作品 一开始 我尝试同时再现声音 但是当我这样做时 它们变得不同步 在阅读论坛几个小时后 我意识到在循环模式下同时再现多个声音的最佳方法就是将音频文件合
  • 使用 matplotlib 和 pandas 库绘图不清楚

    有什么解释为什么我会得到这样的情节吗 指数回报的范围是从 100 到 130 我需要帮助来理解上面的这个图 代码很简单 但是情节不太清晰 import needed library import numpy as np import mat
  • 用于 IOS 开发的 QMessagebox 的任何替代解决方案(仅限 QWidget 应用程序)?

    我正在使用 Qt 5 3 并尝试为 IOS 开发应用程序 问题是 iPhone Retina 模拟器中的 QWidget 应用程序 QMessage 变为全屏 在应用程序输出面板中我看到 此插件不支持 传播大小提示 因此正在寻找 QMess
  • java 可以在对象仍在作用域内时终结该对象吗?

    我一直在研究代码中的一个错误 该错误似乎是由一些 丑陋 的终结器代码引起的 代码大致是这样的 public class A public B b new B Override public void finalize b close pub
  • sql server奇怪的Identity增量

    我在 SQL Azure 上设置了这个表 CREATE TABLE dbo Sl ID int IDENTITY 1 1 NOT NULL PublicId uniqueidentifier NOT NULL CONSTRAINT Prim
  • 如何从 MS Word 创建 PCL 文件

    如何创建类似于现有 MS 文档的新 PCL 文件 我有 MS 文档模板并将其替换为实际数据 我需要实现相同的 PCL 格式 创建 PCL 文件作为模板并将其替换为数据库中的实际值并将其发送到传真 安装新打印机 当询问端口时 创建一个 本地端
  • 来自另一个线程的 DoDragDrop()

    每次我想让用户拖动一个控件时 我都会调用该控件的 DoDragDrop 拖放工作正常 但我对周围的事情有问题 DoDragDrop 完全阻塞表单 没有计时器事件跳转 没有处理绘制消息 DoDragDrop 不仅会阻止拖放操作 还会阻止目标程
  • 尝试删除文件时“该进程无法访问该文件,因为该文件正在被另一个进程使用”

    当逐一删除文件时 会生成错误 该进程无法访问该文件 因为在尝试删除文件时该文件正在被另一个进程使用 代码 对于删除这样的文件有什么建议吗 private void DeleteFilesFromDestination string cons
  • MinGW 链接器错误:winsock

    我正在 Windows 上使用 MinGW 编译器来编译带有套接字的 C 应用程序 我的链接命令如下所示 g exe Wall Wno long long pedantic lwsock32 o dist Windows piskvorky
  • 在 PDO 中获取 SUM

    下面是我的代码 由于某种原因它没有给我总和 它总是返回 0 为什么它不起作用 我用过if totSubmits 以避免我的数据库中出现空白字段 我也尝试删除AS due fees并使用 dueAmont result 0 但没有运气 sql
  • C++ |主函数错误 |初学者[重复]

    这个问题在这里已经有答案了 我对 C 完全陌生 我正在使用 Eclipse 但是 我不知道为什么我在 main 函数中收到此错误 错误 main 必须返回 int 我的代码是 void main char a while a q strin
  • 如何在 bootstrap 4 和 angular2 中使用 Glyphicons?

    我正在使用 angular cli 和 bootstrap4 制作一个应用程序 但是当我对 Glyphicons 进行一些引用时 图标不会出现 例如 当我添加以下代码时
  • 响应式全屏 CarouFredSel 幻灯片

    这是一个自我问答 我已经使用令人惊叹的 CarouFredSel 滑块插件进行开发很长时间了 每次我必须制作需要在宽度和高度上响应的全屏幻灯片时 我都会忘记该怎么做 所以我为我和所有其他为此苦苦挣扎的人做了这个问答 所以 问题是 如何制作全
  • Java 1.6 与 C++ 的性能对比?

    随着 Java 1 6 的推出 我们是否可以说 Java 1 6 的性能几乎与 C 代码相当 或者与 C 相比 Java 在性能方面仍然有很多需要改进的地方 Thanks Debian 喜欢对这类事情进行基准测试 在他们的例子中 Java
  • JavaPreparedStatementsetString改变字符

    正如标题所示 可以肯定的是 我正在调试我的应用程序 因此在我将字符串放入PreparedStatement变量中时 特殊字符将更改为 我实际上不知道在哪里搜索应该修复它的东西 所以我不知道是否需要代码 无论如何 我会在这里放一些 Prepa