[20130610]褆与竖线分隔符.txt

简介: [20130610]褆与竖线分隔符.txt前几天生产系统系统遇到的一个问题,就是上传数据到医保中心时,总有一条记录总是报传入参数数量不对.传入的内容按照|来分割.我仔细检查发现传入的参数数量正确,数据类型也正确,为什么还是报这个错误.
[20130610]褆与竖线分隔符.txt

前几天生产系统系统遇到的一个问题,就是上传数据到医保中心时,总有一条记录总是报传入参数数量不对.传入的内容按照|来分割.我仔细检查发现传入的参数数量正确,数据类型也正确,为什么还是报这个错误.仔细检查才发现问题在这条记录内容上.

我在linux下做一个例子来说明:

$ cat aa.txt
123|张飞褆test|aaa1

$ cut -f1 -d'|' aa.txt
123
$ cut -f2 -d'|' aa.txt
张飞?
$ cut -f3 -d'|' aa.txt
test
$ cut -f4 -d'|' aa.txt
aaa1

--我们数据库使用的字符集:NLS_LANG=SIMPLIFIED CHINESE_CHINA.ZHS16GBK.可以发现正常执行cut -f2 -d'|' aa.txt
--按照正常显示应该是'张飞褆test'.而实际是'张飞?'.

$ cat a1.txt

$ xxd -c 16 a1.txt
0000000: d17c 0a                                  褆.

SQL> @16to10 7c
16 to 10 DEC
------------
         124

SQL> select chr(124) from dual ;
C
-
|

--可以发现7c(16进制)就是|,这样导致系统认为参数的数量不正确.

--按照道理应该还存在许多字符会出现这种情况:(大部分不常使用)
--我管理的数据库有一些还使用AMERICAN_AMERICA.US7ASCII,注意以上问题与字符集无关.
--我执行如下: [说明如果是中文字符集,执行如下语句结果与输出不同]
--数据库字符集AMERICAN_AMERICA.US7ASCII.
select upper(TO_CHAR (167+rownum,'xxxxxxxxxxxxx')) "10to16",chr(167+rownum)||'|' from dual connect by level+16010to16 HZ
---------
 A8    ▅
 A9    ﹟
 AA    獆
 AB    珅
 AC    瑋
 AD    瓅
 AE    畖
 AF    瘄
 B0    皘
 B1    眧
 B2    瞸
 B3    硘
 B4    磡
 B5    祙
 B6    秥
 B7    穦
 B8    竱
 B9    箌
 BA    簗
 BB    粅
 BC    紎
 BD    絴
 BE    緗
 BF    縷
 C0    纜
 C1    羭
 C2    聕
 C3    脇
 C4    膢
 C5    舼
 C6    苵
 C7    莬
 C8    葇
 C9    蓔
 CA    蕓
 CB    藎
 CC    蘾
 CD    蛗
 CE    蝲
 CF    蟶
 D0    衸
 D1    褆
 D2    襹
 D3    觸
 D4    詜
 D5    諀
 D6    謡
 D7    讄
 D8    貄
 D9    質
 DA    趞
 DB    踻
 DC    軀
 DD    輡
 DE    迀
 DF    遼
 E0    鄚
 E1    醸
 E2    鈢
 E3    銃
 E4    鋦
 E5    鍇
 E6    鎩
 E7    鐋
 E8    鑭
 E9    閨
 EA    陓
 EB    雦
 EC    靯
 ED    韡
 EE    顋
 EF    飢
 F0    饇
 F1    駖
 F2    騶
 F3    髚
 F4    魘
 F5    鮸
 F6    鰘
 F7    鱸
 F8    鴟
 F9    鵿
 FA    鷟
 FB    鹼
 FC    鼃
 FD    齶
 FE    

目录
相关文章
excel删除空格之后的字符
excel删除空格之后的字符
|
3月前
|
Java
java读取txt文件,使用逗号,分号,空格,回车将文件内容分割成一个一个的词组,找出所有重复的词组
java读取txt文件,使用逗号,分号,空格,回车将文件内容分割成一个一个的词组,找出所有重复的词组
94 38
|
3月前
将字符串以某个分隔符分隔
将字符串以某个分隔符分隔
去除字符串中的所有空格
去除字符串中的所有空格
|
Shell
SHELL下如何去掉字串里的空格(或指定字符)
SHELL下如何去掉字串里的空格(或指定字符)
835 0
06:空格分隔输出
06:空格分隔输出
126 0
|
Linux 数据安全/隐私保护 C++
C++解析一些特殊符号tab、换行符号
C++解析一些特殊符号tab、换行符号
198 1
C++解析一些特殊符号tab、换行符号
编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔
编写一个程序,将a.txt文件中的单词与b.txt文件中的单词交替合并到c.txt文件中,a.txt文件中的单词用回车符分隔,b.txt文件中用回车或空格进行分隔
|
C# Windows
C# 不能用于文件名的字符
原文:C# 不能用于文件名的字符 在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符 那么具体是包括哪些符号不能...
916 0
|
Shell 数据库
[20180503]珅与分隔符.txt
[20180503]珅与分隔符.txt --//今天再次遇到分隔符问题,以前也遇到过做一次,链接.http://blog.itpub.net/267265/viewspace-763696/ --//这个"珅"还是许多人喜欢作为名字使用.
1109 0