[pgsql-jp: 35190] IBM拡張文字の扱いについて
kk
noritamag @ hotmail.com
2005年 4月 7日 (木) 11:42:57 JST
こんにちは。kkと申します。
【起きている現象】
IBM拡張文字(0xFA40〜0xFC4B)を、MS-Access
のリンクテーブルから、ODBCドライバ経由でDB
に格納した後、phpからブラウザ表示すると、文字が
化けてしまう。
PsqlEdit(Psqlのエディタ)を用いてIBM拡張文字を
格納しても、同様に化けてしまう。
以下に例を示すと、
1.さんずいに位という漢字(SJISの文字コード:"FB40")
をPostgreSQL ODBCドライバ経由でDBにインサート。
2.phpを用いてブラウザで表示したところ、「諸j」という
文字列(eucの文字コード:"8fc7cb")に変換されて表示
されてしまう。
一方、
http://www.rikai.com/library/kanjitables/kanji_codes.euc.shtml
で調べたところ、「さんずいに位」という漢字のEUCの文字
コードは "FAE3" とのことであったので、以下の手順を
踏んでDBに格納したところ、phpを用いてブラウザから表示
しても正しく表示されました。
1.sjisの"FB40"をバイナリでFreeBSDにアップロード
2 sjis -> euc変換スクリプトを使って "FB40"
を "FAE3" に変換。
3.\copy でDBにインポート
しかし、今度は、Accessのリンクテーブルや、PsqlEdit
から "FAE3" の文字を参照すると、「・」と表示されて
しまいます(EUCの文字コードなので当然ですが)。
【お聞きしたいこと】
IBM拡張文字に関して、
SJIS側(Accessのリンクテーブル、PsqlEdit)からも、
EUC側(PHPでブラウザ表示)からも文字化けさせない
手段はないものでしょうか?
また、IBM拡張文字を含め、SJIS⇔EUC の変換テーブル
は、各ソフトウェア(ミドルウェア)毎に持っているもの
なのでしょうか?
"[pgsql-jp: 30677] ACCESSから漢字3が文字化け"
"[pgsql-jp: 30762] 漢字3とは"
をはじめ、ネットでいろいろ調べては見たのですが、
解決策が見つからず、ご相談させて頂きました。
まだまだ勉強不足ではございますが、ご教示の程、
宜しくお願い致します。
----- 開発環境 -----
[web/dbサーバ]
PHP 4.3.3
Apache 1.3.33
PostgreSQL 7.3.4 (EUC-JP)
FreeBSD 5.0
[クライアント]
Windows 2000
Access 2000
ODBCドライバ 7.03.02.08
PsqlEdit 3.0.4.1
pgsql-jp メーリングリストの案内