数据库字符集直接查看方法:

select * fromnls_database_parameters;

select * fromv$nls_parameters;

找到 NLS_LANGUAGE_NLS_TERRITORY_NLS_CHARACTERSET

环境变量nls_lang便是由这三部分组成

NLS_LANG = language_territory.charset

比如:NLS_LANG = SIMPLIFIEDCHINESE_CHINA.UTF8

客户终端字符集查看方法:

32位在:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ORACLE\KEY_OraDb11g_home1\NLS_LANG

64位在:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\NLS_LANG

操作:

将ORACLE11g数据库字符集从ZHS16GBK转为UTF8(或AL32UTF8也可以)

步骤一:执行以下命令

sqlplus "/as sysdba"

conn as sysdba;

shutdown immediate;

startup mount;

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 UTF8;

shutdown immediate;

startup;

步骤二:执行完毕后,设置客户端字符集:

32位在:

HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432NODE\ORACLE\KEY_OraDb11g_home1\NLS_LANG

64位在:

HKEY_LOCAL_MACHINE\SOFTWARE\ORACLE\KEY_OraDb11g_home1\NLS_LANG

按照上述路径找到后设置NLS_LANG的值为SIMPLIFIED CHINESE_CHINA.UTF8

步骤三:最后再设置环境变量NLS_LANG的值为SIMPLIFIED CHINESE_CHINA.UTF8重启电脑即可,然后执行utf8编码的sql脚本不再出现乱码。

总结:

如果“NLS_LANG”等于“数据库字符集”时,不需要进行任何转换,直接把字符插入数据库

如果“NLS_LANG”不等于“数据库字符集”,则需要进行转换,乱码的根源就在这里。

如果“NLS_LANG”编码跟sql脚本一致,则插入数据库的数据基本不会乱码,但是有可能会导致sqlplus中文提示乱码。

如果“NLS_LANG”编码跟sql脚本不一致,和系统一直,则插入数据库的数据可能会乱码,sqlplus中文提示不乱码。

oracle导出字符集ZHS16GBK,ORACLE11g数据库字符集从ZHS16GBK转为UTF8相关推荐

  1. oracle修改字符集_oracle修改数据库字符集

    1.查看数据库字符集 数据库服务器字符集: select* from nls_database_parameters: 其来源于props$,是表示数据库的字符集. 客户端字符集环境: select* ...

  2. mysql数据库字符集作用_MYSQL数据库字符集支持

    MySQL4.1以前版本服务器只能使用单一字符集,从MySQL4.1版本开始,不仅服务器能够使用多种字符集,而且在服务器.数据库.数据表.数据列以及字符串常数多个级别上设置不同的字符集. 1.4.1. ...

  3. oracle11g 客户端字符集,查看 Oracle11g 的字符集

    转自:http://hi.baidu.com/ideas/item/f5bcc475e727a8570d0a078f 查看 Oracle11g 的字符集: 1. 查看全部字符集:    select  ...

  4. plsql 客户端字符集_plsql查看数据库字符集

    oracle字符乱码问题的解决 今天开发人员说在表字段后添加注释出现乱码,但其他开发人员添加注释无此原因,于是判断是其客户端字符集设置问题. 出现乱码的注释如图 解决方法 1 查看客户端字符集 SQL ...

  5. mysql数据库的字符集设置_mysql数据库字符集设置

    1. mysql UTF8设置 1)vi /etc/my.cnf [client] port = 3306 socket = mysql default-character-set=utf8 [mys ...

  6. oracle sql core目录,oracle11g数据库常见故障处理.ppt

    * * * * * * Page * 目标 通过本章节的学习,您将了解以下内容: ORACLE工具(OEM等)的各种常见问题或故障; 这些问题或故障的诊断分析和解决方法; Page * Oracle ...

  7. oracle导出超过100m的数据库,Oracle数据库的导出和导入

    1.在本机的Windows的cmd界面直接操作导出和导入数据库. 导出Linux服务器上的数据库:我们可以确认在windows的cmd界面先输入tnsping 数据库服务名(metardb).这个命令 ...

  8. ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库

    字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库  相信大家都对字符集有相当的了解了,废话就不多说了!直接步入正题:这里主要是测试含有 汉字的数据从ZHS16GBK的数据库导入到 ...

  9. 理解ORACLE数据库字符集

    一.引言     ORACLE数据库字符集,即Oracle全球化支持(Globalization Support),或即国家语言支持(NLS)其作用是用本国语言和格式来存储.处理和检索数据.利用全球化 ...

最新文章

  1. 2010年下半年网络工程师考试上午试卷与参考答案(3)
  2. 【计算机网络】网络安全 : 公钥密码体质 ( 公钥 - 加密密钥 | 私钥 - 解密密钥 | 与对称密钥体质对比 | 特点 | 数字签名引入 )
  3. python图书馆管理系统实验报告_基于Python的图书馆业务报表自动生成研究
  4. Winform中给DataGridView添加多选框列并获取选中行的内容
  5. EasyUI中layout布局的简单使用
  6. PAT (Basic Level) Practice (中文)1007 素数对猜想 (20 分)
  7. 别人总结的一些git教程大全
  8. Struts2 返回 json 格式数据
  9. ann matlab,MatlabANN工具箱实用指南.doc
  10. 基于spi FLASH的嵌入式文件系统 littlefs(转)
  11. 下载最新adb(platform-tools)
  12. 南极沉船_世界上一些神秘的沉船,都成了仿佛被世界遗弃的盛景
  13. 排序——归并排序(Merge sort)
  14. 2021-05-11
  15. 蓝桥杯常用代码模板总结(C/C++)
  16. CAPM模型的Python版详解
  17. hdf heg 批量拼接_MODIS处理工具MRT已被HEG代替
  18. 新时代程序员主流开发工具一览
  19. 网页实现文字转语音朗读功能
  20. JZOJ5426. 【NOIP2017提高A组集训10.25】摘Galo

热门文章

  1. 24小时打卡北上广深,用不到300块
  2. 【协同任务】基于matlab VFH算法多无人机协同控制技术【含Matlab源码 1999期】
  3. Finite Difference Frequency Domain(FDFD) 算法和C++实现
  4. nokia n71生死之谜
  5. English Learning - L2 第 14 次小组纠音 复习元音 [ɔɪ ] [aʊ] [əʊ] [ɪə] 弱读 2023.4.12 周三
  6. 运算过程自动化是计算机,????运算过程自动化是计算机的突出特点之一。()????...
  7. BIM建模助手【有求必应】,你提功能需求,我们来开发
  8. C++进阶(应用篇)——第一章 多线程编程
  9. 茶颜悦色老板在8000人大群怒怼员工,唱反调的一律开除,一看月薪只发了1000多......
  10. 王利芬与优米网:我现在就是个乞丐