高分请教Oracle字符集问题
1、字符集不匹配:Oracle数据库默认使用的字符集为AL32UTF8,如果在创建数据库或者表时没有指定字符集或者指定了其他的字符集,则可能会出现乱码问题。
2、oracle数据库查询时出现乱码,很可能是该数据库的字符集设定不支持中文,但是表中数据含有中文,所以变为乱码。
3、如果这还不行,就把更改字符集从ZHS16GBK到UTF8(这是安全的),再导入备份数据,恢复到原始状况。这样就有可能避开重新建库的麻烦。
4、数据库字符集在创建后原则不能更改。如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
5、解决这类问题,也可以先将数据加载到具有相同字符集的服务器上,然后用转换工具卸出为foxbase 格式或access格式数据库,再用转换工具转入到不同字符集的Oracle数据库中,这样就避免了Oracle字符集的困扰。
6、建立如下内容的批处理文件放在 PL/SQL目录下,以后直接运行此批处理启动 PL/Sql,需要设置该批处理具有管理员权限。改操作不会影响其他程序的编码。
全面认识Oracle数据库字符集
1、由于US7ASCII是最早的Oracle数据库编码格式,因此有许多字符集是US7ASCII的超集,例如WE8ISO8859PZHS16CGB231280、ZHS16GBK都是US7ASCII的超集。
2、Oracle 字符集的查看和修改什么是Oracle字符集 Oracle字符集是一个字节数据的解释的符号***,有大小之分,有相互的包容关系。ORACLE 支持国家语言的体系结构允许你使用本地化语言来存储,处理,检索数据。
3、ORACLE有2个字符集,一个是库字符集,一个是国家字符集!库字符集是ORACLE常用的,国家字符集的话,如果字段数据类型是 NVARchar2等等的,就是要用到国家字符集了,而不是库字符集了。
4、oracel server端的字符集; oracle client端的字符集; dmp文件的字符集。在做数据导入的时候,需要这三个字符集都一致才能正确导入。
5、ORACLE数据库有国家字符集(national character set)与数据库字符集(database character set)之分。两者都是在创建数据库时需要设置的。
6、查看oracle字符集方法如下:单机电脑做小脚windows图标,输入框中输入“cmd”回车,进入dos窗口 登录oracle数据库,使用sys用户以dba身份登录。
Oracle表中数据如何能够显示出特殊字符?求知道!
所有存在标识符的地方,我都不会在表名称、数据库密码里使用@, $, &, *, `这样的字符。最大的原因是这些字符在脚本中往往会产生歧义。比如在SQL*Plus中,“@”符号是用来在连接数据库时定义一个TNSNAMES输入的。
使用ESCAPE定义转义符 在使用Like关键字进行模糊查询时,“%”、“_”和“[]”单独出现时,会被认为是通配符。
在前面加上语句set define off 首先要理解&是做什么的,这个符合在Oracle中表示替代变量,执行时会提示用户输入,然后&以及后面的字符会替换为用户输入的字符。set define off的作用是关闭替代变量功能。
你先确定数据库中对应的table表中是否有“device-id”这个字段。。
用 regexp_like这个函数来解决,正则表达式为:[[:punct:]]+这个正则可以找出任何标点符号。
字符集不匹配:Oracle数据库默认使用的字符集为AL32UTF8,如果在创建数据库或者表时没有指定字符集或者指定了其他的字符集,则可能会出现乱码问题。
如何修改Oracle数据库字符集
我的方案是:先备份数据,然后强制转换字符集从UTF8到ZHS16GBK,然后导入备份数据。如果不行,才来重新建库,设置字符集ZHS16GBK,导入备份数据。
修改字符集:在创建表时,指定正确的字符集;或者在连接数据库时,指定正确的字符集。
如果需要修改字符集,通常需要导出数据库数据,重建数据库,再导入数据库数据的方式来转换。
首先需要进入oracle,所以无需再次进行验证。
如何设置oracle数据库的字符集
我的方案是:先备份数据,然后强制转换字符集从UTF8到ZHS16GBK,然后导入备份数据。如果不行,才来重新建库,设置字符集ZHS16GBK,导入备份数据。
数据库字符集(oracle服务器端字符集)数据库字符集在创建数据库时指定,在创建后通常不能更改。在创建数据库时,可以指定字符集(CHARACTER SET)和国家字符集(NATIONAL CHARACTER SET)。
什么版本没说,是8i?如果是按下面操作 有一个配置文件名为dbappscfg.properties,修改该文件即可解决上述问题。
[a]数据库服务器字符集select * from nls_database_parameters,其来源于props$,是表示数据库的字符集。
echo $NLS_LANG 如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。如果还是有乱码,则有可能是数据库中的数据存在问题,或者是oracle服务端的配置存在问题。
B、查询oracle client端的字符集 echo $NLS_LANG 如果发现你select 出来的数据是乱码,请把client端的字符集配置成与linux操作系统相同的字符集。