解决pl/sql developer中数据库插入数据乱码问题
2024-10-19 14:39:22
最近学习SSM项目开发,用到oracle数据库,
使用管理软件PL/sql developer往数据库表中插入数据时记录乱码。
结果如下:
可以看到中文数据都乱码成了???????问号,
看了网上各位大佬的解决办法,说是由于oracle服务器端字符编码 和 Oracle 客户端字符编码不一致引起的。
(但是我的oracle服务器端 和 Oracle 客户端字符编码是一样的,这就很纳闷了,但同样用了以下解决办法,搞定!!!)
第一步:
登录PL/sql developer,检查Oracle服务器端字符编码,用
select userenv('language') from dual;
得到以下结果:
结果:
SIMPLIFIED CHINESE_CHINA.ZHS16GBK
第二步:
查看Oracle 客户端字符编码,用
select * from V$NLS_PARAMETERS;
得到以下结果:
可以看到我的oracle服务器端 和 Oracle 客户端字符编码是一样的,没关系继续往下看
第三步:
在windows中创 建一个名为“NLS_LANG”的系统环境变量,
设置其值为“SIMPLIFIED CHINESE_CHINA.ZHS16GBK”,跟oracle服务器端字符编码一致,然后重新启动 pl/sql developer
即可解决乱码问题!!!
补充1:(问题解决可忽略以下内容)
跟我有同样问题的同学完成上面的步骤后,重新登录PL/Sql developer数据还是显示乱码。
然后的解决办法是:
把表删除,注意是删表,而不是单单删除表中数据,
然后重新建表,重新插入数据,发现问题解决!!!
补充2:因为是用idea做开发,所以是直接用idea中database连接数据库,然后重新建表,插入的数据,
直接用PL/Sql developer没试过,应该也可以。
最新文章
- 将文件移出版本控制 (Revision Control)
- Fibers in JVM
- 树链剖分求LCA
- noip模拟赛(一)宠物之战
- Caffe学习系列(3):视觉层(Vision Layers)及参数
- 【noiOJ】p1481
- 全真模拟 (1) day1
- python网络编程socket之多进程
- 多线程和Boost::Asio
- 去除input[type=number]最右边的spinners(默认加减符号)
- Flex布局实践
- android context获取目录详解
- 用JS实现实时显示系统时间
- Servlet注释与部署描述符
- 块结构在文件中的表示IOB【转载】
- 日期时间类:Date,Calendar,计算类:Math
- Linux伙伴算法
- windows分区
- springMVC学习(8)-数据回显
- Ubuntu cd
热门文章
- vant实现下拉多选组件
- Copy As HTML From VSCode
- C++(VS2015)模板显式特化之template语法深入理解
- matlab中ischar确定输入是否为字符数组
- ansible-的修改配置文件
- docker启动镜像报错
- mycat的privileges标签
- vue+element ui 关闭弹窗前清空form表单的值
- Linux输入子系统 转载
- spring boot:shardingsphere+druid整合seata分布式事务(spring boot 2.3.3)