Oracle 10g字符编码

pl/sql developer查询数据时出现乱码,主要检查如下:

1、检查服务器编码

sql 复制代码
 select * from v$nls_parameters;
sql 复制代码
 select * from nls_database_parameters;
sql 复制代码
select userenv('language') from dual;  

2、查看数据库可用字符集参数设置

sql 复制代码
 select * from v$nls_valid_values; 

参照/home/oracle/.bash_profile 相关语言设置 系统环境变量加入

java 复制代码
LANG=zh_CN.GBK  
NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK

3、重新连接sqlplus,查看数据

显示正常

4、pl/sql developer设置并重新连接

在pl/sql developer的菜单->tools->preferences->user interface->fonts 中修改为中文字体,重新连接,显示正常。

5、修改数据库的字符编码

如果你要更改数据库的字符编码,会比较麻烦, 强烈建议先备份(危险操作),这是一个好习惯哦~,先sql命令进入dba模式

sql 复制代码
sql> conn user/password as sysdba;
sql> shutdown immediate;
  database closed.
  database dismounted.
  oracle instance shut down.
sql> startup mount;
  oracle instance started.
  total system global area 135337420 bytes
  fixed size 452044 bytes
  variable size 109051904 bytes
  database buffers 25165824 bytes
  redo buffers 667648 bytes
  database mounted.
sql> alter system enable restricted session;
  system altered.
sql> alter system set job_queue_processes=0;
  system altered.
sql> alter system set aq_tm_processes=0;
  system altered.
sql> alter database open;
  database altered.
sql> alter database character set internal_use ZHS16GBK;
   (可以设置: UTF8\AL32UTF8\ZHS16GBK ),注意跟上面的统一,全部统一UTF-8也是可以的
sql> shutdown immediate;
sql> startup;
相关推荐
袋鼠云数栈16 分钟前
使用自然语言体验对话式MySQL数据库运维
大数据·运维·数据库·后端·mysql·ai·数据治理·数栈·data+ai
阿里云大数据AI技术23 分钟前
数据 + 模型 驱动 AI Native 应用发展
大数据·数据库·人工智能
??? Meggie1 小时前
【SQL】使用UPDATE修改表字段的时候,遇到1054 或者1064的问题怎么办?
android·数据库·sql
一屉大大大花卷1 小时前
初识Neo4j之图数据库(二)
数据库·neo4j
天翼云开发者社区2 小时前
OLAP分析数据库适用场景及主流产品对比
数据库
Britz_Kevin2 小时前
从零开始的云计算生活——番外2,MySQL组复制
数据库·mysql·云计算·生活·#组复制
工藤学编程2 小时前
分库分表之实战-sharding-JDBC绑定表配置实战
数据库·分布式·后端·sql·mysql
老纪的技术唠嗑局3 小时前
单机分布式一体化数据库的架构设计与优化
数据库·分布式
GBASE3 小时前
“G”术时刻:Linux环境下通过ESQL/C方式连接南大通用GBase 8s数据库(上)
数据库
一只fish3 小时前
MySQL 8.0 OCP 1Z0-908 题目解析(23)
数据库·mysql