`
j2ee_zhongqi
  • 浏览: 206857 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

Unix下面Ctrl+Z 引发的问题

阅读更多
     做项目的时候遇到一问题:
当页面查询后台db数据返回页面后不能展示,用fixbug发现是xml解析错误,如图:


发现从DB查询过来的IP后面多了一个特殊字符,xml 解析错误。后台数据库是db2,然后去检查db的数据,发现IP后面的确有一些多余的空格,接着就顺其自然的db2去空格:
update citm.hw_rel set ip_addr=replace(ip_addr,' ','')

但是惊讶的发现这个看似空格的却不能用上面的方法移除掉,然后我把它复制到Notepad++中,然后选中view->show symbol->show all charaters,结果如下图 SUB,CRLF:


这下就可以明白为什么用去空格方法去不了了,因为它本身不是一空格。经过查资料,才发现它所对应的是Ctrl+Z,即ASCII值是26,所以正确的解决办法就是:
update citm.hw_rel set ip_addr=replace(ip_addr,chr(26),'')

为什么这个字符能进入到db中去呢,因为db的数据是在unix下批量用脚本导入进去的,这样在unix下就有可能产生这个字符。

关于SUB这个字符可以在这里查到:





具体的link:
http://nemesis.lonestar.org/reference/telecom/codes/ascii.html
希望可以帮助到同样问题的朋友。

  • 大小: 94.1 KB
  • 大小: 26.2 KB
  • 大小: 196.7 KB
  • 大小: 33.7 KB
分享到:
评论

相关推荐

    python快速入门.doc

    在交互模式下,可以输入EOF字符(在UNIX中是Ctrl+D,在Windows中是Ctrl+Z)退出解释器。 通过以上介绍,你已经对Python有了基本的认识。继续深入学习,你会发现Python的强大之处在于其易读性、可扩展性和广泛的应用...

    Python精要参考(第二版).pdf

    5. **退出Python解释器**:在交互模式下,可以通过输入EOF字符(在Unix/Linux下为Ctrl+D,在Windows下为Ctrl+Z)或使用`sys.exit()`函数以及引发`SystemExit`异常来退出Python解释器。 #### 三、变量与表达式的使用...

    Python_精要参考(第二版)

    在Windows中,则使用 `Ctrl+Z`。此外,还可以使用 `sys.exit()` 函数或者通过引发 `SystemExit` 异常来退出程序: ```python >>> import sys >>> sys.exit() ``` 或者 ```python >>> raise SystemExit ``` ...

    python入门资料

    - **结束Python解释器**:使用Ctrl+D(Linux)或Ctrl+Z(Windows)来退出Python解释器。 ### 三、第二个示例:简易计算器 - **基本运算**: - 加法:`+` - 减法:`-` - 乘法:`*` - 除法:`/` - 幂运算:`**` ...

    Python必晓知识点精简实用

    - 输入 EOF(Windows 下使用 Ctrl+Z,Unix/Linux 下使用 Ctrl+D) 3. **Python 函数定义**: - 不需要头部声明 - 如果函数没有返回值,默认返回 `None`,而不是 `NULL` - 参数默认值是可变对象时需谨慎 - 没有...

    python退出命令是什么?详解python退出方法

    在Windows上,可以按下 `Ctrl + Z` 然后回车,或者在Unix/Linux系统中使用 `Ctrl + D`(EOF,即End of File)来模拟文件结束,这通常会导致Python解释器退出。 5. 结束子进程: 如果你在Python程序中创建了子进程...

    Python input函数使用实例解析

    - 在Windows系统上,如果用户按下Ctrl+Z然后回车,`input()`会检测到EOF(文件结束)并引发`EOFError`异常。 - 如果在Unix/Linux系统上,`input()`函数会利用`readline`库(如果可用),提供更高级的输入处理功能,...

Global site tag (gtag.js) - Google Analytics