我现在用的是proc在linux下开发oracle的应用程序,
但是遇到疑难问题,往库里面写英文是好的,写汉字的时候就会发现一个汉字给拆城了好几个字节。看到的都是乱的,但是可以显示,显示出类似于这样的符号Dc:CBp:C:ME60"Rb
这个符号实际上是几个汉字。
大家遇到过类似的问题吗?多帮帮忙了,谢谢
但是遇到疑难问题,往库里面写英文是好的,写汉字的时候就会发现一个汉字给拆城了好几个字节。看到的都是乱的,但是可以显示,显示出类似于这样的符号Dc:CBp:C:ME60"Rb
这个符号实际上是几个汉字。
大家遇到过类似的问题吗?多帮帮忙了,谢谢
解决方案 »
- jsp c3p0 oracle 错误ORA-04030:
- 语句错误提示为literal does not match format string
- 如何把db2 迁移到oracle
- 哪位大哥能帮忙把下面2个简单的sqlserver下的函数转成oracle下面的函数
- 谁知道 Oracle 队列如何应用?
- 要给学生上Oracle课程,用什么教材合适啊,最好练习题多点.
- 急!!ORACLE中在用户A的表空间下建立一个视图,该视图映射到B的表空间下的表,建立不成功报错权限不足。
- 小弟才学oracle9i,希望大哥大姐们帮帮我!
- 安装oracle client出错
- oracle方面初级读物?
- 找出一条记录中3个字段中的最小值?(对你是个小问题!)
- oracle 重作日志错误,请求高手解决!急
看看下面的文章:明白ORACLE多国语言设置,ORACLE多国语言设置是为了支持世界范围的语言与字符集,一般对语言提示、货币形式、排序方式和CHAR,VARCHAR2,CLOB,LONG字段的数据的存储/显示等有效。ORACLE多国语言设置最主要的两个特性就是国家语言设置与字符集设置。国家语言设置决定了界面或提示使用的语言种类;字符集决定了数据库保存与字符集有关数据(如文本)的编码规则。正如上面的一个小例子,环境变量NLS_LANG的不同,导致EXP帮助发生变化,这就是多国语言设置的作用(NLS_LANG包含国家语言设置与字符集设置,这里起作用的是国家语言设置,而不是字符集)。
ORACLE字符集设定,分为数据库字符集和客户端字符集环境设置。在数据库端,字符集在创建数据库的时候设定,并保存在数据库props$表中,对于8i以上产品,已经可以采用“Alter database character set 字符集”来修改数据库的字符集,但也仅仅是从子集到超集。不要通过update props$来修改字符集,如果是不支持的转换,可能会失去所有与字符集有关的数据,就是支持的转换,也可能导致数据库的不正常工作。字符集分为单字节字符集与多字节字符集,US7ASCII就是典型的单字节字符集,在这种字符集中length=lengthb,而ZHS16GBK就是常用的双字节字符集,在这里lengthb=2*length。
客户端的字符集环境比较简单,主要是环境变量或注册表项NLS_LANG,注意NLS_LANG的优先级别为:参数文件à注册表à环境变量àalter sessionà函数。NLS_LANG的组成为“国家语言设置.字符集”,如nls_lang=simplified chinese_china.zhs16gbk。客户端的字符集最好与数据库端一样(国家语言设置可以不一样,如zhs16gbk的字符集,客户端可以是nls_lang =simplified chinese_china.zhs16gbk或Ameircan_America.zhs16gbk,都不影响数据库字符的正常显示),如果字符集不一样,而且字符集的转换也不兼容,那么客户端的数据存储/显示和导出/导入的与字符集有关的数据将都是乱码。2、具体查看字符集视图
select NLS_CHARACTERSET from nls_database_parameters;
查看数据库是不是中文字符集
3、具体修改方法
(1).关闭数据库 SHUTDOWN IMMEDIATE
(2).由于要修改数据库,所以为了安全起见,备份数据库
(3).完成一下指令修改数据库字符集:
SVRMGRL>CONNECT INTERNAL;
SVRMGRL>STARTUP MOUNT;
SVRMGRL>ALTER SYSTEM ENABLE RESTRICTED SESSION;
SVRMGRL>ALTER SYSTEM SET JOB_QUEUE_PROCESSES=0;
SVRMGRL>ALTER SYSTEM SET AQ_TM_PROCESSES=0;
SVRMGRL>ALTER DATABASE OPEN;
SVRMGRL>ALTER DATABASE CHARACTER SET ZHS16CGB231280;
SVRMGRL>SHUTDOWN IMMEDIATE;
SVRMGRL>STARTUP;
(4).修改客户端变量:.profile文件(安装数据库用户的.profile),在.profile中添加如下指令:
NLS_LANG=AMERICAN_AMERICA.ZHS16CGB231280
EXPORT NLS_LAN