Chinaunix首页 | 论坛 | 博客
  • 博客访问: 104633586
  • 博文数量: 19283
  • 博客积分: 9968
  • 博客等级: 上将
  • 技术积分: 196062
  • 用 户 组: 普通用户
  • 注册时间: 2007-02-07 14:28
文章分类

全部博文(19283)

文章存档

2011年(1)

2009年(125)

2008年(19094)

2007年(63)

分类: Oracle

2008-04-05 13:03:04

作者: eaxbiopl  出自:
  作 者: 隗公万

  一、我的环境:
  版 本: CentOS release 5 (Final)
  内 核: 2.6.18-8.el5
  数据库: oracle 10G

  二、问题说明:
  装了好久的操作系统和oracle 10G数据库一直都是只用些英文的数据和数字,今天突然有日文数据的需求了,所以就顺手插入些日文数据,问题随即就来了居然全是乱码或问号。顺便又试了试中文,居然效果跟日文一样都是乱码或问号。这下就有些郁闷了。只好去网上搜索,去DBA的群中问,无奈大家的方法都解决不了我的问题,最后他们都让我重装系统。这个怎么能重装呢,里面还那么多东西呢!

  三、解决问题:
  首先,要先明白这个问题的原因:是由于数据库的客户端、服务器端、还有个会话的字符集不统一并且有无法显示日文的字符集。

  然后,查看下系统的这些字符集,很简单直接输入一些命令就可以查到:

  select * from sys.nls_database_parameters;--查看数据库参数
  select * from sys.nls_instance_parameters; --查看客户端参数
  select * from sys.nls_session_parameters; --查看会话的参数

  最后,修改这些NLS_LANGUAGE的值,我的就修改成了一致的WE8ISO8859P1。并且在环境变量中增加了export NLS_LANGUAGE=Japanese_Japan.WE8ISO8859P1的环境变量。再从sqlplus登入oracle数据插入中文或者日文都可以正常显示了。到此问题就算是解决了。
阅读(214) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~