0
ODBCドライバを使用した文字エンコーディングの問題に直面しています。 Excel 2013、 で社内のPostgreSQLサーバからデータを取得しようとしましたが、日本語の文字が文字化けしたり、空の文字列に置き換えられたりします。ここでPostgreSQL ODBCドライバ(32ビット)でのエンコーディング
は、私が使用しているものです:
- [クライアント]のWindows 7エンタープライズ32ビット&エクセル2013の32ビット
- [ODBCドライバー] psqlodbc_09_05_0400-x86の
- [サーバー] PostgreSQLは上の8.2.3 i686の-pc-linux-gnuのように、サーバー上のGCCのgcc(GCC)3.4.6
エンコード設定でコンパイル:
- SERVER_ENCODING = SQL_ASCII
- CLIENT_ENCODING = SJIS
注
- どちらドライバの( "PostgreSQLのユニコード" や "PostgreSQLのANSI")が働きました。
- SETのCLIENT_ENCODING TO 'SJIS'
- SETのCLIENT_ENCODING TO 'EUC_JP'
- SET:
- 私は無駄で(接続文字列で) "ConnSettings" オプションとは別に、以下の文字列を設定しましたCLIENT_ENCODING = 'SJIS' = 'EUC_JP'
- SETのCLIENT_ENCODING
- は、私が "pgAdminで" アプリを試してみたが、文字化けを取り除くことができませんでした。
文字の文字化けを避けるにはどうすればよいですか?
コメントをいただければ幸いです。
@LaurenzAlbeコメントありがとうございました。私の問題は次の回避策で解決しました。私の上級仲間の1人が古いバージョンのODBCドライバのインストーラを持っていました(私は正確なバージョンを特定できませんでしたが、最終更新日は2005年でした)。インストール後、ODBCデータソース管理者でANSI/Unicodeのような接尾辞を付けずに "PostgreSQL"を選択することができました。その使用に加えて、Excelで「データ接続ウィザード」ではなく「Microsoft Query」を選択しました。これは、キャラクターが文字化けするのを防ぐための唯一の方法でした。 –
あなたはエンコードが一致することができて幸運です。 –