postgresql数据插入问题

ieo2004 2008-04-24 04:47:10
现在有数据插入的sql脚本,其中的中文全部采用utf8的编码,类似INSERT INTO ORDERS VALUES(1,0,'2006-01-27',470.4,NULL,NULL,'\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7','2006-02-01','2'),但是执行该语句后,数据中的相应字段的数据还是类似\u5e7f\u5dde\u5e02\u5317\u4eac\u8def39\u53f7 这种,我希望能够正常显示中文,请问该如何处理?数据库为postgresql 8.1
...全文
129 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
洪泉 2008-04-30
  • 打赏
  • 举报
回复
同意楼上得说法
trainee 2008-04-29
  • 打赏
  • 举报
回复
直接输汉字不行吗?

如果要用内码直接存入,我知道在8。3有个函数为convert_from
convert_from(string bytea, src_encoding name)
说明如下:
Convert string to the database encoding. The original encoding is specified by src_encoding. The string must be valid in this encoding.

而bytea输入是八进制格式

如'巴', UTF8内码为E5B7B4 八进制格式为\345\267\264
所以 convert_from(E'\\345\\267\\264','utf8')将返回一个'巴'字

1,你的内码可能是UCS2码,不是真正的UTF8码,如果是这样,你是无法转换的,因为PG的encoding中没有UCS2
2.如果是真正的UTF8玛,你的内码必须先转换为八进制.
fanhuan1 2008-04-29
  • 打赏
  • 举报
回复
数据库安装时的编码格式选择的是不是UTF-8.如果装的时候不是选UTF-8.好象数据会被数据库格式成安装时的类型.
ieo2004 2008-04-26
  • 打赏
  • 举报
回复
没人回答啊,自己顶一个先

56,679

社区成员

发帖
与我相关
我的任务
社区描述
MySQL相关内容讨论专区
社区管理员
  • MySQL
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧