java中JDBC执行带有中文的sql语句时查询不到结果

我的sql语句如下:

 ResultSet rs = statement.executeQuery("select * from student_login where s_no = '" + sno+ "' and s_name = '" + username +"';");

其中username为中文
在navicat中可以正常查询,但是在ide中查询不到结果

解决办法:
在获取连接对象的时候,在url后面追加可以识别中文的标识 (?useUnicode=true&characterEncoding=utf8)
如下:

conn = DriverManager.getConnection("jdbc:mysql://localhost:3306/student?useUnicode=true&characterEncoding=utf8","root","123456");
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在PL/SQL,如果你无法查询包含汉字的SQL语句,可能是因为字符编码设置不正确。你可以按照以下步骤来解决这个问题: 1. 首先,你可以在Oracle的SQL窗口执行以下语句来查看数据库的字符集:\[1\] ``` select userenv('language') from dual; ``` 这将返回数据库的字符集信息。 2. 然后,你可以按照以下步骤来设置正确的字符编码: - 右击“我的电脑”,选择“属性”。 - 在属性窗口,选择“告警系统属性”。 - 在告警系统属性窗口,选择“高级”选项卡。 - 在高级选项卡,点击“环境变量”按钮。 - 在环境变量窗口,点击“新建”按钮。 - 在新建环境变量对话框,输入“NLS_LANG”为变量名,输入“AMERICAN_AMERICA.AL32UTF8”为变量值。\[2\] - 点击“确定”保存设置。 这样设置后,PL/SQL应该能够正确处理包含汉字的SQL语句了。请注意,这些步骤是基于Windows操作系统的,如果你使用的是其他操作系统,请参考相应的文档或者操作系统设置来进行相应的设置。 #### 引用[.reference_title] - *1* [PLSQL查询Oracle表中文乱码解决](https://blog.csdn.net/Chad_it/article/details/127289049)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [如何解决plsql查询oracle数据库语句where条件带有中文无法匹配结果](https://blog.csdn.net/zy_crazy_code/article/details/85010013)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

余生羁绊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值