扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
用正则表达式。
成都创新互联公司专业为企业提供温泉网站建设、温泉做网站、温泉网站设计、温泉网站制作等企业网站建设、网页设计与制作、温泉企业网站模板建站服务,10多年温泉做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
select 字段id,字段名 from 表名 t where length(regexp_substr(t.字段名,'[^u2E80-u9FFF]+$'))0
以上的正则可以搜索汉字,包括中日韩等,繁体应该也在吧。
如果要搜索整个数据库,要么用存储过程,循环的把每一张表的每一个字段都搜索一遍,表名称,字段名可以从系统表(user_tab_cols)提取。
要么用全文搜索。
如何更改Oracle字符集
国内最常用的Oracle字符集ZHS16GBK(GBK 16-bit Simplified Chinese)能够支持繁体中文,并且按照2个字符长度存储一个汉字。UTF8字符集是多字节存储,1个汉字(简体、繁体)有时采用3个字符长度存储。
Oracle支持字符集的更改,但是UTF8是Oracle中最大的字符集,也就是说UTF8是ZHS16GBK的严格超集。
对于子集到超集的转换,Oracle是允许的,但是对于超集到子集的转换是不允许的。一般对于超集到子集的转换,建议是通过dbca删除原来的数据库,重新再建库,选择正确的字符集,然后导入备份。
我的方案是:先备份数据,然后强制转换字符集从UTF8到ZHS16GBK,然后导入备份数据。如果不行,才来重新建库,设置字符集ZHS16GBK,导入备份数据。如果这还不行,就把更改字符集从ZHS16GBK到UTF8(这是安全的),再导入备份数据,恢复到原始状况。这样就有可能避开重新建库的麻烦。
1. 备份数据库中所有用户的数据
以oracle用户登陆,执行以下命令
# export NLS_LANG = “SIMPLIFIED CHINESE_CHINA.UTF8”
保持与数据库服务器端一致,这样在exp导出时,就不会存在字符的转换了,备份最原始的数据。
2. 评估UTF8转换成ZHS16GBK的风险
转换之前,要使用Oracle的csscan工具对数据库扫描,评估字符集转换前后,数据有可能的损坏情况。如果评估情况糟糕,那就绝对要放弃了。
先安装属于 CSMIG 用户的一套表和过程。以oracle用户登陆UNIX,
#sqlplus “/ as sysdab”
SQL@$ORACLE_HOME/ rdbms/admin/csminst.sql
SQLexit
# $ORACLE_HOME\bin\csscan -help
可以更清楚如何使用csscan。
# $ORACLE_HOME/bin/csscan system/sunday user=mmsc FROMCHAR=UTF8 TOCHAR=ZHS16GBK ARRAY=102400 PROCESS=3 csscan.log
以上命令意思是扫描用户:mmsc中的所有数据,从字符集UTF8更改为ZHS16GBK的转换情况。然后得到三个文件:scan.txt、scan.out、scan.err。
查看scan.out,scan.err,可以看出mmsc用户下的所有的数据都是可以转换的,并且没有出现转换“Exceptional”的情况,因此可以更放心一点。
把客户端的字符集设置为繁体就可以了。客户--服务器保持一样。
查看oracle字符集方法如下:
1、单机电脑做小脚windows图标,输入框中输入“cmd”
2、回车,进入dos窗口
3、登录oracle数据库,使用sys用户以dba身份登录。输入“SQLPLUS”,回车,然后再在用户名下输入“SYS AS SYSDBA”,回车
4、密码后面输入“SYS”,回车。这里输入密码是隐式的,所以看不见,只要输入就好了
5、这里输入SQL查询语句,“select * from nls_database_parameters where parameter='NLS_CHARACTERSET';”然后回车。注意单引号内的内容必须大写,sql语句后面的分号。这里可以看到,数据库使用的是简体中文的字符集。
扩展资料:
甲骨文公司,全称甲骨文股份有限公司(甲骨文软件系统有限公司),是全球最大的企业级软件公司,总部位于美国加利福尼亚州的红木滩。1989年正式进入中国市场。2013年,甲骨文已超越 IBM ,成为继 Microsoft 后全球第二大软件公司。
2017年6月7日发布的2017年美国《财富》500强,甲骨文公司排名第81位。 2017年6月,《2017年BrandZ最具价值全球品牌100强》公布,甲骨文公司排名第46位。
字符(Character)是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集(Character set)是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。
参考资料:
百度百科-字符集
百度百科-甲骨文公司
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流