磨砺技术珠矶,践行数据之道,追求卓越价值 
回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 
[作者 高健@博客园  luckyjackgao@gmail.com]

外部文件来自于Windows,日语SJIS字符集。

由于SJIS字符集和标准的POSIX有冲突,故Linux平台一般是不支持此字符集的。而PostgreSQL的服务器端也不支持它。

但是它支持客户端使用SJIS,因此导入时,可以用PostgreSQL的自动变换功能。

具体如下:

  1. -----------------------------
  2. Linux Encoding:
  3. [root@pg200 data]# echo $LANG
  4. ja_JP.UTF-8
  5. [root@pg200 data]#
  6.  
  7. -----------------------------
  8. PostgreSQL Encoding:
  9. postgres=# \x
  10. Expanded display is on.
  11. postgres=# \l
  12. List of databases
  13. -[ RECORD 1 ]-----+----------------------
  14. Name | postgres
  15. Owner | postgres
  16. Encoding | UTF8
  17. Collate | ja_JP.UTF-8
  18. Ctype | ja_JP.UTF-8
  19. Access privileges |
  20. -[ RECORD 2 ]-----+----------------------
  21. Name | template0
  22. Owner | postgres
  23. Encoding | UTF8
  24. Collate | ja_JP.UTF-8
  25. Ctype | ja_JP.UTF-8
  26. Access privileges | =c/postgres
  27. | postgres=CTc/postgres -[ RECORD 3 ]-----+----------------------
  28. Name | template1
  29. Owner | postgres
  30. Encoding | UTF8
  31. Collate | ja_JP.UTF-8
  32. Ctype | ja_JP.UTF-8
  33. Access privileges | =c/postgres
  34. | postgres=CTc/postgres
  35.  
  36. postgres=#
  37.  
  38. -----------------------------
  39. Windows side File:(sjistest.txt)
  40. ああああ
  41. いいいい
  42. うううう
  43. ええええ
  44. おおおお
  45.  
  46. -----------------------------
  47. Directly Show it in Linux:
  48. [root@pg200 data]# cat sjistest.txt
  49.  
  50. -----------------------------
  51. In PostgreSQLdirectly COPY:
  52. [postgres@pg200 pgsql]$ ./bin/psql
  53. psql (9.2.4)
  54. Type "help" for help.
  55.  
  56. postgres=# copy t1 from '/usr/local/pgsql/data/sjistest.txt';
  57. ERROR: invalid byte sequence for encoding "UTF8": 0x82
  58. CONTEXT: COPY t1, line 1
  59. postgres=#
  60.  
  61. -----------------------------
  62. PostgreSQL automatically changing
  63.  
  64. [postgres@pg200 pgsql]$ ./bin/psql
  65. psql (9.2.4)
  66. Type "help" for help.
  67.  
  68. postgres=# set client_encoding to 'SJIS'; SET postgres=# copy t1 from '/usr/local/pgsql/data/sjistest.txt';
  69. COPY 5
  70. postgres=# set client_encoding to 'UTF8'; SET postgres=# select * from t1;
  71. val
  72. ----------
  73. ああああ
  74. いいいい
  75. うううう
  76. ええええ
  77. おおおお
  78. (5 rows)
  79.  
  80. postgres=#

[作者 高健@博客园  luckyjackgao@gmail.com]
回到上一级页面: PostgreSQL杂记页     回到顶级页面:PostgreSQL索引页 
磨砺技术珠矶,践行数据之道,追求卓越价值

PostgreSQL如何导入SJIS字符集的文件的更多相关文章

  1. ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库

    字符集为ZHS16GBK的数据库导入到字符集为AL32UTF8的数据库  相信大家都对字符集有相当的了解了,废话就不多说了!直接步入正题:这里主要是测试含有 汉字的数据从ZHS16GBK的数据库导入到 ...

  2. 由PostgreSQL的区域与字符集说起(转)

    转自:http://blog.chinaunix.net/uid-354915-id-3502551.html 由PostgreSQL的区域与字符集说起 一.PostgreSQL的区域区域属性有以下几 ...

  3. ASP.NET Core 导入导出Excel xlsx 文件

    ASP.NET Core 使用EPPlus.Core导入导出Excel xlsx 文件,EPPlus.Core支持Excel 2007/2010 xlsx文件导入导出,可以运行在Windows, Li ...

  4. Oracle数据库导入、导出dmp文件

    oracle导出数据: 1.该处的导出数据需要在dos命令行下执行,进入到oracle客户端路径下执行(该处也可为oracle客户端路径配置系统变量),如: E:\oraclexe\app\oracl ...

  5. 使用PHPExcel导入导出excel格式文件

    使用PHPExcel导入导出excel格式文件  作者:zccst  因为导出使用较多,以下是导出实现过程.  第一步,将PHPExcel的源码拷贝到项目的lib下  文件包含:PHPExcel.ph ...

  6. PostgreSQL的存储系统二:REDOLOG文件存储结构二

    REDOLOG文件里的用户数据和数据文件里的用户数据存储结构相同 几个月前同事给台湾一家公司培训<pg9 ad admin>时,有个学员提及WAL里记录的内容为Query时的SQL语句(比 ...

  7. sql server 2008如何导入mdf,ldf文件

    sql server 2008怎样导入mdf,ldf文件   网上找了非常多解决sql server导入其它电脑拷过来的mdf文件,多数是不全.遇到的解决方法不一样等问题,下边是找到的解决这个问题的最 ...

  8. navicat里导入和导出.sql文件

    一:Navicat导入MySQL的.sql文件. 打开连接connection,选择你要导入的数据库,双击打开(或者新建一个),然后右键该数据库,选"运行批次任务文件(execute sql ...

  9. 于用cocoapods添加第三方库,并且cocoapods添加成功,但是却在任何一个文件上都导入不了头文件

    关于用cocoapods添加第三方库,并且cocoapods添加成功,但是却在任何一个文件上都导入不了头文件,而且根本没有提示,即使手动打#import "xxxx.h"也报错xx ...

随机推荐

  1. JavaScript的DOM_StyleSheet操作内联或链接样式表

    使用 style 属性,仅仅只能获取和设置行内的样式,如果是通过内联<style>或链接<link>提供的样式规则就无可奈何了,使用 getComputedStyle 和cur ...

  2. JAVA Color类

    Color类用于定义颜色,java.awt.Color中提供了13个预定义的常量用来表示13中标准颜色,分别是: public static final Color white白色. public s ...

  3. 五子棋AI算法

    原理框图总结 参考链接 http://blog.csdn.net/xiaoyu714543065/article/details/8746876 http://blog.csdn.net/pi9nc/ ...

  4. docker-7-常用软件的安装

    1.总体步骤 搜索镜像 拉取镜像 查看镜像 启动镜像 停止容器 移除容器 2.安装tomcat docker hub上面查找tomcat镜像:docker search tomcat     从doc ...

  5. python多线程练习

    import threading from time import sleep,ctime def print1(): for i in range(10): print(i,end='') prin ...

  6. jquery mobile各类组件刷新方法

      1.Combobox or select dropdowns var myselect = $("#sCountry"); myselect[0].selectedIndex ...

  7. ApiCloud模块链接

    城市选择器 页面左右滑动 识别信用卡 图像coverFlow  输入框  图片浏览器  百度地图                                                     ...

  8. Android 把url生成二维码并贴到给定的底图上

    主要是用到了com.google.zxing jar包生成二维码的功能,这个jar包需要自己接下载 直接上代码 public static Bitmap CreateBinaryCodeImageBy ...

  9. Oracle分析函数巧妙使用

    在 Oracle中使用Sql必须弄懂分析函数 Oracle开发专题之:分析函数(OVER) 1 Oracle开发专题之:分析函数2(Rank, Dense_rank, row_number) 6 Or ...

  10. oracle创建用户、表空间、临时表空间、分配权限步骤详解

    首先登陆管理员账号,或者有DBA权限的用户,接下来依次: --查询所有用户select * from dba_users;--创建新用户create user gpmgt identified by ...