[20180503]珅与分隔符.txt

简介: [20180503]珅与分隔符.txt --//今天再次遇到分隔符问题,以前也遇到过做一次,链接.http://blog.itpub.net/267265/viewspace-763696/ --//这个"珅"还是许多人喜欢作为名字使用.

[20180503]珅与分隔符.txt

--//今天再次遇到分隔符问题,以前也遇到过做一次,链接.http://blog.itpub.net/267265/viewspace-763696/
--//这个"珅"还是许多人喜欢作为名字使用..

$ cat d1.txt
123|张飞珅test|aaa1

$ cat d1.txt  | tr '|' '\n'
123
张飞?
test
aaa1

--//这样被分割成4个字段,导致错误.

$ echo 珅 | xxd -c 16
-bash: syntax error near unexpected token `|'

--//因为"珅" 编码包含字符"|",出现错误.要使用引号

$ echo -n "珅" | xxd -c 16
0000000: ab7c                                     .|

--//可以"珅"的编码是ab7c,而7c的编码对应的就是"|".

$ echo -n "|" | xxd -c 16
0000000: 7c                                       |

--//这样导致分割出现错误.实际上这个字符不属于GB2312编码表.
--//以前通过这个脚本定位:
select upper(TO_CHAR (167+rownum,'xxxxxxxxxxxxx')) "10to16",chr(167+rownum)||'|' from dual connect by level+167<=254;
--//但是仅仅对数据库字符集AMERICAN_AMERICA.US7ASCII有效.
--//对于字符集AMERICAN_AMERICA.ZHS16GBK可以使用如下查询:

SELECT hex, UTL_RAW.cast_to_varchar2 (hex) hz
  FROM (    SELECT TO_CHAR (167 + ROWNUM, 'FMxx') || '7c' hex
              FROM DUAL
        CONNECT BY LEVEL + 167 <= 254);

目录
相关文章
|
Perl
awk指定分隔符
awk指定分隔符
53 0
将文件a.txt的字符串前加上序号“1:”、“2:”、…。
将文件a.txt的字符串前加上序号“1:”、“2:”、…。
127 0
目录字串最后都不要带目录分隔符
目录字串最后都不要带目录分隔符
106 0
|
C# Windows
C# 不能用于文件名的字符
原文:C# 不能用于文件名的字符 在 Windows 有一些字符是不能作为文件名,尝试重命名一个文件,输入/ 就可以看到windows 提示的不能作为文件名的字符 那么具体是包括哪些符号不能...
916 0
|
索引 关系型数据库 Oracle
[20180329]删除带斜线的索引.txt
[20180329]删除带斜线的索引.txt --//上午看链接:http://www.itpub.net/thread-2100824-1-1.html --//开始没仔细看,实际上已经恢复了,索引名带斜线,看看如何删除.
946 0
|
Oracle 关系型数据库 Linux
[20171124]xxd与通配符.txt
[20171124]xxd与通配符.txt --//linux 上许多命令都支持通配符,比如 $ ls -l *.txt -rw-r--r-- 1 oracle oinstall 44801024 2017-11-24 09:16:38 c01.
804 0
|
Linux Windows 程序员
|
关系型数据库 Oracle SQL
[20161003]to_char与前导空格.txt
[20161003]to_char与前导空格.txt --昨天做测试时遇到的问题: create table t1 tablespace sugar as select rownum id ,lpad('A',32,'A') name from dual con...
862 0
|
Windows
[20161029]windows 7的文件名开头空格.txt
[20161029]windows 7的文件名开头是空格的问题.txt --今天遇到windows 7的文件名开头是空格的一个bug,通过一个例子来说明: 1.建立一个文件夹aaa: 里面包含2个文件1.txt," 1.txt", --注:第2个文件前面有一个空格要使用引号。
1535 0