PCDVD數位科技討論區

PCDVD數位科技討論區 (https://www.pcdvd.com.tw/index.php)
-   疑難雜症區 (https://www.pcdvd.com.tw/forumdisplay.php?f=34)
-   -   ACCESS透過ODBC連結PostgreSQL產生亂碼 (https://www.pcdvd.com.tw/showthread.php?t=521661)

kuan1107 2005-08-07 05:18 PM

ACCESS透過ODBC連結PostgreSQL產生亂碼
 
在Linux下用postgres帳號下達
$pgsql -l
[postgres@postgresql data]$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+---------------
kill | wsl | UNICODE
opscdl | wsl | MULE_INTERNAL
template0 | postgres | MULE_INTERNAL
template1 | postgres | MULE_INTERNAL
(4 rows)
問題如下
1.由PC連telnet至postgresql可看到正常中文
2.WINXP+SP2 用Access2003連結ODBC時卻看到亂碼 :nonono:
不知是不是Unicode問題??
請高手解答

Dakpa 2005-08-08 01:02 AM

建議去程式設計的討論網站求解。

瘋狂火星人 2005-08-08 01:51 AM

引用:
作者kuan1107
在Linux下用postgres帳號下達
$pgsql -l
[postgres@postgresql data]$ psql -l
List of databases
Name | Owner | Encoding
-----------+----------+---------------
kill | wsl | UNICODE
opscdl | wsl | MULE_INTERNAL
template0 | postgres | MULE_INTERNAL
template1 | postgres | MULE_INTERNAL
(4 rows)
問題如下
1.由PC連telnet至postgresql可看到正常中文
2.WINXP+SP2 用Access2003連結ODBC時卻看到亂碼 :nonono:
不知是不是Unicode問題??
請高手解答


有試過安裝那個資料庫的時候選擇"繁體中文"嗎???
我只用過mysql和mssql.....選擇繁體中文安裝~~
沒有遇過這樣的問題

您這上面是列出所有資料庫的名稱類型和編碼嗎???
你自己建立的是kill這個資料庫嗎??
下面兩個MULE_INTERNAL...這是什麼語系???
字型顯示亂碼是所有資料庫都會這樣,還是只有特定的資料庫出現亂碼??

XP底下有沒有安裝UNICODE補完???

鄙人才疏學淺,您參考看看......

kiten 2005-08-08 09:05 AM

引用:
作者瘋狂火星人
有試過安裝那個資料庫的時候選擇"繁體中文"嗎???
我只用過mysql和mssql.....選擇繁體中文安裝~~
沒有遇過這樣的問題

您這上面是列出所有資料庫的名稱類型和編碼嗎???
你自己建立的是kill這個資料庫嗎??
下面兩個MULE_INTERNAL...這是什麼語系???
字型顯示亂碼是所有資料庫都會這樣,還是只有特定的資料庫出現亂碼??

XP底下有沒有安裝UNICODE補完???

鄙人才疏學淺,您參考看看......

我是用source code編譯手動安裝的(不想直接用rpm -ivh方式,因為我要enable odbc,perl,python,java,C++等等支媛,rpm不知設定啥)
(1)去www.postgresql.org 找到postgresql-8.0.3.tar.gz
(2)tar zxvf postgresql-8.0.3.tar.gz
(3)./configure -E MULE_INTERNAL --enable-locale .......
(4)make
(5)切換成root
(6)make install
(7)mkdir /usr/local/pgsql/data
(8)useradd postgres
(9)chown postgres.postgres /usr/local/pgsql/data
(10)以後略

請教啥是WINXP之UNICODE補完,如何設定?

MULE_INTERNAL是我抄RedHat Linux資料庫實務(PostgreSQL)
P2.68的說明,我摘錄部份,其中可多編碼代號聞所未聞
後端編碼(伺服器程式) 可適用前端編碼(客戶端程式)
-----------------------------------------------
EUC_JP EUC_JP,SJIS
EUC_TW EUC_TW,BIG5
MULE_INTERNAL EUC_JP,SJIS,EUC_KR,EUC_CN,EUC_TW
BIG5,LATIN1 to LATIN5
WIN,ALT,WIN1250

axbycz 2005-08-08 09:28 AM

我是用 rpm 來建 postgres
一般來說用 source 或是 rpm 應該不會有太大不同
你可以參考這篇
http://mail-archive.objectweb.org/e...1/msg00687.html
在建立 database 的時候多加一個參數
createdb -E EUC_TW DATABASENAME

瘋狂火星人 2005-08-08 10:04 AM

引用:
作者kiten
我是用source code編譯手動安裝的(不想直接用rpm -ivh方式,因為我要enable odbc,perl,python,java,C++等等支媛,rpm不知設定啥)
(1)去www.postgresql.org 找到postgresql-8.0.3.tar.gz
(2)tar zxvf postgresql-8.0.3.tar.gz
(3)./configure -E MULE_INTERNAL --enable-locale .......
(4)make
(5)切換成root
(6)make install
(7)mkdir /usr/local/pgsql/data
(8)useradd postgres
(9)chown postgres.postgres /usr/local/pgsql/data
(10)以後略

請教啥是WINXP之UNICODE補完,如何設定?

MULE_INTERNAL是我抄RedHat Linux資料庫實務(PostgreSQL)
P2.68的說明,我摘錄部份,其中可多編碼代號聞所未聞
後端編碼(伺服器程式) 可適用前端編碼(客戶端程式)
-----------------------------------------------
EUC_JP EUC_JP,SJIS
EUC_TW EUC_TW,BIG5
MUL...


那好像是微軟出的,為了支援不同語系可以正常顯示......

或是試試樓上大大的那個做法......

kiten 2005-08-08 10:35 AM

引用:
作者axbycz
我是用 rpm 來建 postgres
一般來說用 source 或是 rpm 應該不會有太大不同
你可以參考這篇
http://mail-archive.objectweb.org/e...1/msg00687.html
在建立 database 的時候多加一個參數
createdb -E EUC_TW DATABASENAME

我比較貪心一點想要日文,韓文,簡體中文及繁體(正體)中文一網打盡
(況且我服務的單位有些電子資料是日文,有的同仁必須和日本人通信
為了預防萬一,我還是希望不單單限定在EUC_TW)
即使我createdb -E EUC_TW DATABASENAME
我用ACCESS2003透過ODBC連這個DATABASENAME
ACCESS2003還是亂碼
另一位大大所言
UNICODE補完還沒嘗試

瘋狂火星人 2005-08-08 12:07 PM

這種情形......
用英文會比較保險......
畢竟除了母語以外,英文也該懂一些.....

axbycz 2005-08-08 01:51 PM

這個問題好像以前有人提出來討論
請看這一篇章節 2.6
http://pginstaller.projects.postgre...AQ_windows.html
如果不能從資料庫解決的話
試試看在程式方面尋求解決
或乾脆不同的語言建立不同的資料庫 :flash:

kiten 2005-08-16 08:30 AM

我找到方法了!!
 
在PostgreSQL ODBC中點選Data Source切換到Page 2
在Connect Settings設定字串如下
SET CLIENT_ENCODING = 'unicode';
ACCESS 2003即可顯示正確中文了


所有的時間均為GMT +8。 現在的時間是07:32 PM.

vBulletin Version 3.0.1
powered_by_vbulletin 2026。