• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            colorful

            zc qq:1337220912

             

            ERROR:invalid byte sequence for encoding"UTF8

            http://blog.sina.com.cn/s/blog_680f6fa70100ldrg.html
                 

            原因是沒有正確設(shè)置客戶端字符集。

                  默認(rèn)情況下,PostgreSQL是不轉(zhuǎn)換字符集的,如果你的數(shù)據(jù)庫是UTF8的字符集,一般終端的中文字符集會設(shè)置為GBK,或en_US(查看終端的 字符集可以看LANG環(huán)境變量的設(shè)置),所以你輸入的中文是GBK的編碼,這個編碼不經(jīng)轉(zhuǎn)換的存入數(shù)據(jù)庫中,而數(shù)據(jù)庫是UTF8的,PostgreSQL 一看沒有這樣的UTF8編碼,所以當(dāng)然報錯了。
            解決方法】:
            方法一:設(shè)置postgresql的客戶端編碼為GBK,這時PostgreSQL就知道輸入的內(nèi)容是GBK編碼的,這樣PostgreSQL數(shù)據(jù)庫會自動做字符集的轉(zhuǎn)換,把其轉(zhuǎn)換成UTF8編碼。
            方法二:直接設(shè)置終端的字符集編碼為UTF8,讓輸入的編碼直接為UTF8,而不是GBK。
             
            具體演示】:
             設(shè)置postgresql的客戶端編碼:
            設(shè)置psql客戶端字符集為GBK,方法有兩種,一種是在psql中輸入“\encoding GBK” ,另一種是設(shè)置環(huán)境變量“export PGCLIENTENCODING=GBK”,演示如下:
            #psql -d dsc
            dsc=# insert into t values(1,'中國');
            ERROR:  invalid byte sequence for encoding "UTF8": 0xd6d0
            HINT:  This error can also happen if the byte sequence does not match the encoding expected by the server, which is controlled by "client_encoding".
            dsc=# show client_encoding;
             client_encoding
            -----------------
             UTF8
            (1 row)
            dsc=# \encoding GBK 
            dsc=# show client_encoding;
             client_encoding
            -----------------
             GBK
            (1 row)
            dsc=# insert into t values(1,'中國');
            INSERT 0 1
            dsc=# commit;
            WARNING:  there is no transaction in progress
            COMMIT
            dsc=# select * from t;
             id | name
            ----+------
              1 | 中國
            (1 row)

            [postgres@dsc ~]$ export PGCLIENTENCODING=GBK
            [postgres@dsc ~]$ psql
            psql: FATAL:  conversion between GBK and LATIN1 is not supported
            [postgres@dsc ~]$ psql -d dsc
            psql (8.4.3)
            Type "help" for help.
            dsc=# select * from t;
             id | name
            ----+------
              1 | 中國
            (1 row)
            dsc=# insert into t values(2,'我的中國');
            INSERT 0 1
            dsc=# select * from t;                  
             id |   name  
            ----+----------
              1 | 中國
              2 | 我的中國
            (2 rows)

            posted on 2013-07-12 14:00 多彩人生 閱讀(758) 評論(0)  編輯 收藏 引用 所屬分類: postgresql

            導(dǎo)航

            統(tǒng)計(jì)

            常用鏈接

            留言簿(3)

            隨筆分類

            隨筆檔案

            搜索

            最新評論

            閱讀排行榜

            評論排行榜

            一本色道久久88—综合亚洲精品| 亚洲AV无码久久精品色欲| 久久中文娱乐网| 国产精品午夜久久| 精品国产日韩久久亚洲| 无码日韩人妻精品久久蜜桃| 日本久久久精品中文字幕| 一本大道久久东京热无码AV| 精品免费久久久久久久| 久久久久久国产精品美女| 精品国产青草久久久久福利| 亚洲国产成人久久综合一| 成人综合久久精品色婷婷| 久久99国产精品久久99| 精品久久久中文字幕人妻| 国产成人香蕉久久久久| 色综合久久无码五十路人妻| 无码8090精品久久一区| A级毛片无码久久精品免费| 久久精品国产亚洲av日韩| 亚洲国产精品狼友中文久久久| 999久久久无码国产精品| 国产精品久久久久久久久久影院| 久久婷婷国产麻豆91天堂| 亚洲AV无码久久精品成人| 人人妻久久人人澡人人爽人人精品| 久久精品一区二区三区不卡| 国产欧美久久久精品影院| 久久天天躁狠狠躁夜夜av浪潮| 精品午夜久久福利大片| 麻豆AV一区二区三区久久| 久久久久久久波多野结衣高潮 | 久久精品国产乱子伦| 国产2021久久精品| 青青草国产精品久久久久| 国产午夜久久影院| 国内精品九九久久久精品| 无码国内精品久久人妻| 97久久国产综合精品女不卡 | 久久精品一区二区三区不卡| 久久久久AV综合网成人|