做项目的时候遇到一问题:
当页面查询后台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
分享到:
相关推荐
在交互模式下,可以输入EOF字符(在UNIX中是Ctrl+D,在Windows中是Ctrl+Z)退出解释器。 通过以上介绍,你已经对Python有了基本的认识。继续深入学习,你会发现Python的强大之处在于其易读性、可扩展性和广泛的应用...
- 在Windows环境下,使用Ctrl+Z发送EOF信号。 - 使用`sys.exit()`或引发`SystemExit`异常退出程序。 #### 三、变量与表达式 - **示例:复利计算器** ```python principal = 1000 # 初始金额 rate = 0.05 # 利率...
5. **退出Python解释器**:在交互模式下,可以通过输入EOF字符(在Unix/Linux下为Ctrl+D,在Windows下为Ctrl+Z)或使用`sys.exit()`函数以及引发`SystemExit`异常来退出Python解释器。 #### 三、变量与表达式的使用...
在Windows中,则使用 `Ctrl+Z`。此外,还可以使用 `sys.exit()` 函数或者通过引发 `SystemExit` 异常来退出程序: ```python >>> import sys >>> sys.exit() ``` 或者 ```python >>> raise SystemExit ``` ...
在Windows系统中,使用Ctrl+Z。程序也可以使用sys.exit()函数或者引发SystemExit异常来退出。 5. Python的基本语法元素: - 变量:Python是动态类型语言,变量名在程序运行时可以指向不同类型的对象(如整型、...
- **结束Python解释器**:使用Ctrl+D(Linux)或Ctrl+Z(Windows)来退出Python解释器。 ### 三、第二个示例:简易计算器 - **基本运算**: - 加法:`+` - 减法:`-` - 乘法:`*` - 除法:`/` - 幂运算:`**` ...
- 输入 EOF(Windows 下使用 Ctrl+Z,Unix/Linux 下使用 Ctrl+D) 3. **Python 函数定义**: - 不需要头部声明 - 如果函数没有返回值,默认返回 `None`,而不是 `NULL` - 参数默认值是可变对象时需谨慎 - 没有...
在Windows上,可以按下 `Ctrl + Z` 然后回车,或者在Unix/Linux系统中使用 `Ctrl + D`(EOF,即End of File)来模拟文件结束,这通常会导致Python解释器退出。 5. 结束子进程: 如果你在Python程序中创建了子进程...
- 在Windows系统上,如果用户按下Ctrl+Z然后回车,`input()`会检测到EOF(文件结束)并引发`EOFError`异常。 - 如果在Unix/Linux系统上,`input()`函数会利用`readline`库(如果可用),提供更高级的输入处理功能,...