1. 涉及的字符集

  这个可以分成三块,数据库服务器字符集(server)、实例字符集(instance), 会话字符集(session)

2. 乱码的原因

  session 的字符集和 server 的字符集不相同导致的

3. 字符集来源

 3.1 server

  server 来源应该是 db_install.rsp 文件(不确定,没去查), 具体查看修改的方法如下

-- 查看
select * from nls_database_parameters;
select * from sys.props$;
-- 修改
shutdown immediate;
startup mount;
alter session set sql_trace=true;
alter system enable restricted session;
alter system set job_queue_processes=0;
alter system set aq_tm_processes=0;
alter database open;
alter database character set internal_use al32utf8;
alter session set sql_trace=false;
-- 修改 server 的相关字符级
update sys.props$ set value$='american' where name='nls_language';
update sys.props$ set value$='al16utf16' where name='nls_nchar_characterset';

shutdown immediate;
startup;

 

我的修改如下:

-- server --
NLS_LANGUAGE         -> SIMPLIFIED CHINESE => AMERICAN
NLS_CHARACTERSET     -> WE8MSWIN1252     => AL32UTF8
NLS_NCHAR_CHARACTERSET -> UTF8           => AL16UTF16

3.2 instance

 这个来源是 dbca.rsp(不确定, 有需要的 可以看 rsp 文件里的注释 )

3. 3 session

 这个来源是用户当前的环境,如果当前环境没配置,那么就会继承 instance 的相关值,具体修改也比较简单,直接改 oracle 用户的 NLS_LANG 的环境变量值就好了。

#export NLS_LANG='AMERICAN_AMERICA.AL32UTF8'
export NLS_LANG='SIMPLIFIED CHINESE_CHINA.AL32UTF8'

因为我也不知道用什么值,我是一个一个试的,这里别人说 session 配置的字符集要是 server 是 session 的超集,配置的时候要注意。

ps:

  session 要注意,不同的 session 会有不同的值。

数据库字符集的

oracle 11g linux 导入中文字符乱码问题解决的更多相关文章

  1. Linux下中文字符乱码的问题

    来源:Linux社区  作者:frankfellow Linux下中文经常会出现乱码,有的是浏览网页出现乱码:有的是文本模式下显示中文出现乱码.下图显示的是我遇到的问题.我安装的是CentOS,x-w ...

  2. Xshell4 出现Linux中中文字符乱码问题

    Xshell5竟然收费了... 没办法只能用回Xshell4 但是不知道是版本不对还是在咋的 发现中文乱码,导致操作非常不方便 解决方案 LANG=zh_CN.big5 执行在终端执行上面的命令就可以 ...

  3. python3.5.2中文字符乱码问题解决

    >>> str = "世界你好!" >>> b = str.encode('utf-8') >>> type(b) <c ...

  4. Oracle中文字符乱码?设置Oracle客户端字符编码与服务端一致

    经常可能出现查询Oracle数据时,中文显示乱码,这很可能是因为,Oracle服务端的字符编码与客户端不一致引起的. 这时,我们需要做的是,如何设置自己的客户端字符编码与服务端一致. 查询Oracle ...

  5. Java中FTPClient上传中文目录、中文文件名乱码问题解决方法【好用】

    转: Java中FTPClient上传中文目录.中文文件名乱码问题解决方法 问题描述: 使用org.apache.commons.net.ftp.FTPClient创建中文目录.上传中文文件名时,目录 ...

  6. Xshell4连接,Linux系统中文显示乱码解决办法

    Xshell 是一个强大的安全终端模拟软件,它支持SSH1, SSH2, 以及Microsoft Windows 平台的TELNET NetSarang Xshell 4 Build 0120议.使用 ...

  7. JAVA的中文字符乱码问题

    来源:http://luzefengoo.blog.163.com/blog/static/1403593882012754428536/ JAVA的中文字符乱码问题一直很让人头疼.特别是在WEB应用 ...

  8. Linux下中文显示乱码问题

    Linux下中文显示乱码问题 输出编码选utf-8 然后文件本身编码也要是utf-8

  9. openerp 7.0邮件接收中文附件乱码问题解决办法

    openerp 7.0邮件接收中文附件乱码问题解决办法: 修改文件\addons\mail\mail_thread.py #1064 line插入代码: h=email.Header.Header(n ...

随机推荐

  1. 在Win10上安装Apache2.44

    下载地址:https://www.apachelounge.com/download/VS16/binaries/httpd-2.4.41-win64-VS16.zip 如果以上地址失效请到 http ...

  2. MySQL查询更新所有满足条件的数据

    -- 将订单表所有的状态改成1update oc_repair_preorder a inner join (select id,`status` from oc_repair_preorder) b ...

  3. 图解冒泡排序及算法优化(Java实现)

    冒牌排序 基本思想 定义:冒泡排序的英文是bubblesort,它是一种基础的交换排序 原理:每次比较两个相邻的元素,将较大的元素交换至右端 (升序排序) 思路:相邻的元素两两比较,当一个元素大于右侧 ...

  4. Ant Jmeter Jenkins生成html测试报告

    Ant配置1. 将jmeter安装目录或者源码目录下\apache-jmeter-3.1\extras的ant-jmeter-1.1.1.jar复制到ant安装目录下apache-ant-1.10.3 ...

  5. pytest测试框架 -- 简介

    一.pytest测试框架简介: (1)pytest是python的第三方测试框架,是基于unittest的扩展框架,比unittest更简洁,更高效. (2)pytest框架可以兼容unittest用 ...

  6. ctfhub sql注入字符型

    手工注入 1, 检查是否存在注入 2.猜字段数.列数 3.获得注入点,数据库名称,数据库版本 4.获得表名 5.获得字段名 6.获得flag sqlmap方法 1.查数据库库名 2.查表名 3.查字段 ...

  7. msf生成木马

    Msf生成木马:(多层加密都不能免杀) msfvenom -p windows/shell_reverse_tcp lhost=192.168.33.143 lport=7001 -f raw -e ...

  8. 传值&传值引用

    转自http://www.cnblogs.com/androidsuperman/p/9012320.html 首先对传值和传引用要有个基本的概念 传值:传递的是值的副本.方法中对副本的修改,不会影响 ...

  9. JavaGuide

    最近在看JavaGuide整理的java文档 仅此记录

  10. 1.Concurrent概述