Linux下oracle中文编码设置问题
2012-11-23 14:38
369 查看
最近项目要用到oracle数据库。期间遇到一些中文乱码问题。经过一番痛苦的折腾,中文能正常显示了,现把过程介绍如下:
1 首先查看linux的语言设置echo $LANG ,本人的LINUX上为zh_CN.UTF8
2 查看oracle的字符编码:本人oracle数据库版本为10.2.0.1
select *from nls_database_parameters;
3 用sysdba用户修改字符编码为AL32UTF8(UTF-8的编码子集)
alter database character set AL32UTF8;
如果遇到不能修改,则调用以下步骤:
alter system enable restriced session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
然后,alter database character set AL32UTF8;
当系统提示字符集必须为旧字符集的超集时,可用下面的句强制修改字符集
alter database character set internal_use AL32UTF8;
4 修改.bash_profile文件的语言设置(oracle客户端,该文件在用oracle用户登录的默认目录下)
增加export NLS_LANG=AMERICAN_AMERICA.UTF8或将NLS_LANG修改为AMERICAN_AMERICA.UTF8 ,保存。
5 导入客户端配置
source .bash_profile
6 重启数据库
shutdown immediate;
startup mount;
7 登录oralce数据库,插入中文字符,select 查询的内容正常。
通过调用OCI库中的函数插入中文数据,用select显示也正常。
中文编码问题解决!
1 首先查看linux的语言设置echo $LANG ,本人的LINUX上为zh_CN.UTF8
2 查看oracle的字符编码:本人oracle数据库版本为10.2.0.1
select *from nls_database_parameters;
3 用sysdba用户修改字符编码为AL32UTF8(UTF-8的编码子集)
alter database character set AL32UTF8;
如果遇到不能修改,则调用以下步骤:
alter system enable restriced session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
然后,alter database character set AL32UTF8;
当系统提示字符集必须为旧字符集的超集时,可用下面的句强制修改字符集
alter database character set internal_use AL32UTF8;
4 修改.bash_profile文件的语言设置(oracle客户端,该文件在用oracle用户登录的默认目录下)
增加export NLS_LANG=AMERICAN_AMERICA.UTF8或将NLS_LANG修改为AMERICAN_AMERICA.UTF8 ,保存。
5 导入客户端配置
source .bash_profile
6 重启数据库
shutdown immediate;
startup mount;
7 登录oralce数据库,插入中文字符,select 查询的内容正常。
通过调用OCI库中的函数插入中文数据,用select显示也正常。
中文编码问题解决!
相关文章推荐
- mysql字符编码设置,mysql中文问题解决方案
- servlet从服务器磁盘文件读出到浏览器显示,中文乱码问题,不要忘记在输入流和输出流都要设置编码格式,否则一个地方没设置不统一就会各种乱码
- 解决linux下oracle中文乱码的问题
- java web,charset编码设置正确情况下出现部分中文正常,部分中文乱码的问题
- JDBC读取Oracle的US7ASCII编码中文乱码及不同编码下汉字占用字节的问题
- Linux ubuntu下python处理中文(汉字及标点)的编码设置
- Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- xshell连接linux中文编码问题
- 中文乱码问题及tomcat设置编码为utf-8
- linux操作之:设置控制台的分辨率,中文显示以及scim的问题
- Linux下Opera中文输入问题及中文字体设置解决方案
- Linux下设置Eclipse编码为GBK进而支持中文
- linux下oracle EM中文乱码问题解决
- SSH Secure Shell Client连接Linux 命令行显示中文乱码问题 和oracle 查询数据中文乱码问题
- Linux下MySQL5.6的修改字符集编码为UTF8(解决中文乱码问题)
- linux 下oracle 10g sqlplus中文显示和输入的问题
- java web,charset编码设置正确情况下出现部分中文正常,部分中文乱码的问题
- Linux下MySQL 5.5的修改字符集编码为UTF8(彻底解决中文乱码问题)
- linux下QT程序与windows程序中文字符串传输编码问题的一点解决,utf8转gbk