服务器字符集是WE8ISO8859P1,属于单字符集,一个汉字占两个字节。我的oracle版本是8.1.7或7.3.4。有没有一个能够完全转换WE8ISO8859P1的父 服务器字符集是WE8ISO8859P1,属于单字符集,一个汉字占两个字节。我的oracle版本是8.1.7或7.3.4。有没有一个能够完全转换WE8ISO8859P1的父集。能让一汉字作为一个字节。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 楼上的那你就错了。字符集ZHS16GBK存在汉字就为一个字节。在convert(str,'WE8ISO8859P1','ZHS16GBK') 这样汉字就是一个字节。但是这样转换会出现乱码。你明白吗? 没有听说一个汉字存储的时候仅占用一个字节当client端和server端的字符集相同的时候,oracle数据库不再进行字符集转换,直接存入字符,读取的时候也是因为服务器端和客户端字符集相同的原因不再进行转换,而客户端操作系统能够识别汉字的编码,所以使用单字节的字符集看起来也能够正确存储和读取汉字而已,也仅仅是看起来而已,事实上数据库中存储的不是正确的编码 to xiaoxiao1984(笨猫儿): 你认为有不有比较好的方法来处理一个字符串中包括了我需要去掉的字符的好的方法呢?例如。这数字“3”是全角的。字符串“福超”中,是没有这个数字“3”。但是用这个语句来查询却能找出在字符串“福超”包括“3”,因为instr是逐个字节来比较的,就是由于汉字占两个字节,所以导致这样问题存在。select instr('福超','3') from dual Navicat连接Oracle的一些问题 请教一条快速准确的oracle查询语句 Oracle 配置!紧急! 关联查询 rowNum 问题 怎么把一列里相同的值挑出来,改成一行的 oracle 问题 这个语句段哪有问题 以system进入数据库,打开数据库,提示,权限不够。以sys进入,打开数据库。提示用户名密码不正确。 !!!急,请高手指点! 请问ORACLE9i的SQL*PLUS和SQL*PLUSWorkSheet是不是不能同时开启用?我发现它们之间的不能相互更新?? 这个rollup要怎么写? ORACLE中用一条SQL实现其它进制到十进制的转换
字符集ZHS16GBK存在汉字就为一个字节。
在convert(str,'WE8ISO8859P1','ZHS16GBK') 这样汉字就是一个字节。但是这样转换会出现乱码。你明白吗?
当client端和server端的字符集相同的时候,oracle数据库不再进行字符集转换,直接存入字符,读取的时候也是因为服务器端和客户端字符集相同的原因不再进行转换,而客户端操作系统能够识别汉字的编码,所以使用单字节的字符集看起来也能够正确存储和读取汉字而已,也仅仅是看起来而已,事实上数据库中存储的不是正确的编码
你认为有不有比较好的方法来处理一个字符串中包括了我需要去掉的字符的好的方法呢?
例如。这数字“3”是全角的。字符串“福超”中,是没有这个数字“3”。但是用这个语句来查询却能找出在字符串“福超”包括“3”,因为instr是逐个字节来比较的,就是由于汉字占两个字节,所以导致这样问题存在。
select instr('福超','3') from dual