注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

星期五

明天不上班

 
 
 

日志

 
 
关于我

一个特立独行的Java程序员,比较宅,上上网,写博客,听音乐,看电影。

网易考拉推荐

ERROR: invalid byte sequence for encoding UTF8: 0x00  

2011-09-06 21:00:19|  分类: Postgresql |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

当我们使用insert语句向postgresql中插入无法处理的字符的时候,Postgresql 产生以下错误:

例如

postgres@ubuntu:/home/hjzheng$ psql
psql (8.4.8)
输入 "help" 来获取帮助信息.

postgres=# insert into test (c2) values(E'\x00');
错误:  无效的 "UTF8" 编码字节顺序: 0x00
提示:  如果字节顺序与服务器期待的编码(由"client_encoding"控制)不匹配,那么这个错误也会发生.
postgres=# insert into test (c2) values('\00');
警告:  在字符串常量中以不标准的方法使用转义字符
第1行 insert into test (c2) values('\00');
                                   ^
提示:  对转移字符使用转义字符串语法,例如 E'\r\n'.
错误:  无效的 "UTF8" 编码字节顺序: 0x00
提示:  如果字节顺序与服务器期待的编码(由"client_encoding"控制)不匹配,那么这个错误也会发生.
postgres=#

 

 

处理它的唯一方式,就是把特殊字符删除掉。

我们项目在Oracle9i的数据库系统数据收集时,有一些Postgresql无法处理的字符,将这些无意义的字符处理掉。

参考资料:

http://postgresql.1045698.n5.nabble.com/invalid-byte-sequence-for-encoding-quot-UTF8-quot-0x00-td2172080.html

  评论这张
 
阅读(2903)| 评论(0)
推荐

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017