oracle获取中文出现乱码问题解决

首先搞清楚字符集和字符编码概念,了解oracle字符集原理,请参考一位大神的讲解:

ref:http://blog.csdn.net/dbanote/article/details/9158367#comments

1. Oracle数据库服务器字符集:即Oracle以哪种字符编码存储字符

select * from v$nls_parameters where parameter='NLS_CHARACTERSET';  
  1. PARAMETER                      VALUE  
  2. ------------------------------ -----------------  
  3. NLS_CHARACTERSET               AL32UTF8  

2. 客户端操作系统字符集:即客户端操作系统以哪种字符编码存储字符

vim /etc/sysconfig/i18n

我这里设置和数据库编码一样:

LANG="en_US.UTF-8"
SYSFONT="latarcyrheb-sun16"

3. 客户端NLS_LANG参数:该参数用于向oracle指示客户端操作系统的字符集。

vim ~/.bash_profile

我这里设置和数据库编码一样:

export NLS_LANG=american_america.AL32UTF8

让它立即生效,执行如下命令:

source ~/.bash_profile

over!!!!!

原文地址:https://www.cnblogs.com/kaishan1990/p/7200402.html