java项目连接数据库(oracle)中文乱码问题解决方法

今天写了一个java项目连接数据库,之后写了一个执行入库操作的模块。此时暴露出一个问题就是项目的中文插入到数据库时会是乱码:
项目输出的中文:
1484390-20190929112819658-771923071.png
执行插入操作后数据库中内容:
1484390-20190929112946393-2050541817.png
此时CustomerNumber字段是乱码。
出现这种情况一般都是数据库编码与项目编码不一致导致的,首先查看项目与数据库的编码格式:
查看项目编码:
项目的编码是gbk格式
1484390-20190929113114113-1699345271.png
查看数据库编码格式:
数据库编码格式是ISO-8859-1
1484390-20190929113241033-1981339023.png
以上查看编码格式操作可以百度

出现这种情况一般可以通过两种方式解决。一是修改数据库或者项目的编码格式,二是对入库的中文进行编码转换。第一种方式在项目初期可以这样搞,但是考虑到修改编码可能会影响其他模块的功能导致其他模块出现乱码。所以我一般采用第二种方式。
1484390-20190929113842298-1337944059.png
转换编码后,入库中文乱码解决:
1484390-20190929114020262-152475000.png

转载于:https://www.cnblogs.com/keyforknowledge/p/11606928.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Oracle数据库中,中文码通常是由于数据库的字符集和客户端的字符集不一致引起的。如果Oracle服务器内部的字符集和NLS_LANG变量里保存的字符集相同,查询时会直接将数据返回给查询用户,插入操作会直接将数据保存进数据库中,不会出现码的情况。 要解决中文问题,可以通过以下方法: 1. 确保数据库的字符集正确设置为支持中文的字符集,如AL32UTF8。 2. 确保客户端的字符集与数据库的字符集一致。可以通过设置NLS_LANG环境变量来指定客户端的字符集,使其与数据库相匹配。 3. 在客户端编写SQL语句时,使用正确的编码格式。如果需要查询或插入中文数据,确保客户端使用的编码格式与数据库一致,并将数据以正确的编码方式传递给数据库。 通过以上方法,可以有效解决Oracle数据库中文码的问题。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Oracle汉字问题原因及解决方法](https://blog.csdn.net/gccr/article/details/1907303)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *2* [Java连接数据库oracle中文解决方案](https://download.csdn.net/download/weixin_38718223/12725294)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] - *3* [Oracle数据库中文问题](https://blog.csdn.net/oracle_kenan/article/details/120664424)[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^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 33.333333333333336%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值