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

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

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

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

具体如下:

-----------------------------
Linux Encoding:
[root@pg200 data]# echo $LANG
ja_JP.UTF-8
[root@pg200 data]# -----------------------------
PostgreSQL Encoding:
postgres=# \x
Expanded display is on.
postgres=# \l
List of databases
-[ RECORD 1 ]-----+----------------------
Name | postgres
Owner | postgres
Encoding | UTF8
Collate | ja_JP.UTF-8
Ctype | ja_JP.UTF-8
Access privileges |
-[ RECORD 2 ]-----+----------------------
Name | template0
Owner | postgres
Encoding | UTF8
Collate | ja_JP.UTF-8
Ctype | ja_JP.UTF-8
Access privileges | =c/postgres
| postgres=CTc/postgres -[ RECORD 3 ]-----+----------------------
Name | template1
Owner | postgres
Encoding | UTF8
Collate | ja_JP.UTF-8
Ctype | ja_JP.UTF-8
Access privileges | =c/postgres
| postgres=CTc/postgres postgres=# -----------------------------
Windows side File:(sjistest.txt)
ああああ
いいいい
うううう
ええええ
おおおお -----------------------------
Directly Show it in Linux:
[root@pg200 data]# cat sjistest.txt -----------------------------
In PostgreSQL、directly COPY:
[postgres@pg200 pgsql]$ ./bin/psql
psql (9.2.4)
Type "help" for help. postgres=# copy t1 from '/usr/local/pgsql/data/sjistest.txt';
ERROR: invalid byte sequence for encoding "UTF8": 0x82
CONTEXT: COPY t1, line 1
postgres=# -----------------------------
PostgreSQL automatically changing: [postgres@pg200 pgsql]$ ./bin/psql
psql (9.2.4)
Type "help" for help. postgres=# set client_encoding to 'SJIS'; SET postgres=# copy t1 from '/usr/local/pgsql/data/sjistest.txt';
COPY 5
postgres=# set client_encoding to 'UTF8'; SET postgres=# select * from t1;
val
----------
ああああ
いいいい
うううう
ええええ
おおおお
(5 rows) 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. chrome最新版49跨域问题

    chrome最新版49跨域问题   一.最新版49要用新的参数 加--user-data-dirwindows:"C:\Program Files\Google\Chrome\Applica ...

  2. Hive安装报错

    安装好hive后在bin路径下输入hive报错: [ERROR] Terminal initialization failed; falling back to unsupported 原因是hado ...

  3. BZOJ3926:[ZJOI2015]诸神眷顾的幻想乡(广义SAM)

    Description 幽香是全幻想乡里最受人欢迎的萌妹子,这天,是幽香的2600岁生日,无数幽香的粉丝到了幽香家门前的太阳花田上来为幽香庆祝生日. 粉丝们非常热情,自发组织表演了一系列节目给幽香看. ...

  4. 设计模式之Strategy模式

    策略模式属于对象的行为模式.其用意是针对一组算法,将每一个算法封装到具体的共同接口的独立类中,从而使得他们可以互相替换. 策略模式使得算法可以在不影响客户端的情况下发生变化. all in one “ ...

  5. C# - 静态类和静态构造函数

    一个类只能有一个静态构造函数,该构造函数不能有访问修饰符,不能带任何参数,不能直接调用,只能在: 1 创建包含静态构造函数的类实例时 2 访问包含静态构造函数的静态成员时 会先调用静态构造函数,无论创 ...

  6. python接口自动化读取json,yaml配置文件+封装requests+unittest+HTMLRunner实现全自动化

    # coding=utf-8 import json import requests class TestApi(object): """ /* @param: @ses ...

  7. Python KafkaProducer and KafkaConsumer的开发模块

    1.在python中往kakfa写数据和读取数据,使用的是python-kafka库 2.消费者需持续写入数据,因groupid存在偏移量,才能看看到数据. 3.安装库的命令为pip install ...

  8. POJ 2352 stars (树状数组入门经典!!!)

    Stars Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 54352   Accepted: 23386 Descripti ...

  9. cocos2d-x开发:服务端基础库封装

    元旦前面几天都在忙着面试,随后的几天也就一直在做服务端基础库开发方面的工作.对于服务端开发,是很久之前的事情了.那时候我还在大学读书,一直都是在倒腾服务端开发方面的东西,毕业后参加公司工作就是一直从事 ...

  10. .gitignore设置不生效

    .gitignore git中,如果想要让git忽略某些文件,或不想push到远程库,不让其受版本的控制.可以使用git提供的.gitignore文件进行配置.像这样: 一般情况下,在文件还未修改前, ...