Contents
- 対象は「psql
が出力するメッセージ」の文字化け - 文字化けしてる例、しない例
- 9.5 Beta 1
付属の psql だけ準備して使う方法 - psql
がサーバより新しくても、問題なさそう
対象は「psql が出力するメッセージ」の文字化け
Windows- Windows
の「地域と言語」が日本語以外になっている。(詳細:7 月 16 日の記事) - psql
が依存する intl.dll に問題がある。(PostgreSQL 9.4特有らしい)
今日の対策は後者向け。前者は、リンク先の記事に書いたとおり「地域と言語」を日本語にして直りました。一方後者は、諸々の設定変更だけでは解決したことがなく、結局
以下、実行環境は次のとおり。PostgreSQL 9.4
- Windows
7 32bit - コマンドプロンプトの代わりに
ConEmu 150513 を使用 - PostgreSQL Portable 9.4.1
- PostgreSQL 9.5 Beta 1 (zip achive)
文字化けしてる例、しない例
PostgreSQL 9.4$ psql -U postgres 繝ヲ繝シ繧カ postgres 縺ョ繝代せ繝ッ繝シ繝・ psql (9.4.1) "help" 縺ァ繝倥Ν繝励r陦ィ遉コ縺励∪縺・
データベースに未接続でヘルプを表示しても ↓ 文字化けするので、PostgreSQL
$ psql --version psql (PostgreSQL) 9.4.1 $ psql --help psql 縺ッ PostgreSQL 縺ョ莨夊ゥア蝙九ち繝シ繝溘リ繝ォ縺ァ縺吶・ 菴ソ逕ィ譁ケ豕・ psql [繧ェ繝励す繝ァ繝ウ]... [繝・・繧ソ繝吶・繧ケ蜷・[繝ヲ繝シ繧カ蜷江] (..)
先ほど書いたとおり動作そのものは正常で、日本語を含むクエリ発行やデータ取得は問題なく、最後の「1
SELECT repeat(chr(12411) || chr(12370), 10) AS "データベースから返ってきた日本語文字列"; データベースから返ってきた日本語文字列 ------------------------------------------ ほげほげほげほげほげほげほげほげほげほげ (1 陦・
上のままでも用途によっては問題ありませんが、9.5 Beta 1
9.5 Beta 1 付属の psql だけ準備して使う方法
方法といっても簡単で、EnterpriseDBとりあえず
psql がサーバより新しくても、問題なさそう
ドキュメントのpsqlは、同じまたはより古いメジャーバージョンのサーバと稼働させることが最善です。 (..)
複数のメジャーバージョンが異なるサーバとの接続のためにpsql を使用したいのであれば、psql の最新版を使用することを勧めます。
メジャーバージョンというのは、例えば