質問: pleskコントロールパネルから作成したpostgresqlのデータベースの文字コードを変更する方法
回答: **■問題** plesk で作成した postgresql のデータベースが文字化けします。 **■原因** 作成した postgresql のデータベースの文字コードと、プログラムの文字コードが異なることが原因である場合があります **■解決方法**postgresql のデータベースを作成する際に、プログラムの文字コードと同じ文字コードを指定することで改善される場合があります。しかしながら、plesk 画面では特定の文字コードを指定し、データベースを作成することはできません。特定の文字コードにてデータベースを作成されたい場合は、ssh のコンソール作業にてデータベースの再作成をすることで対応可能です。 ※本作業は、plesk の標準の設定方法とは異なるため、弊社ではサポートを行うことはできません。専門書等をご確認の上、参考程度にご参照ください。 ※本作業は、データベースを一度削除いたしますので、すでに保存されたデータが削除されます。作業を行う場合は、必ずバックアップ等を行った後に、お客様の責にて作業を行ってください。 ※必ずデータベースを plesk より作成後、本作業を行ってください。 ※本作業では plesk と postgresql が同一サーバにインストールされたもので、pleskから同一サーバ内の postgresql を操作する場合の方法を記載いたします。 **postgresql の管理者ユーザ情報を確認** (a-1).plesk へ admin ユーザにてログインします。 (a-2).システム]-[サーバ]-[データベースサーバ]-[ローカル postgresql サーバ]-[データベースサーバを選択します。 (a-3).管理者ログイン名]を確認します。 ※管理者パスワードは表示されませんので、設定されたパスワードをあらかじめご用意ください。 (a-4).[データベースを選択し、作成されたデータベース名を確認します。 **データベースの再作成** ここでは、[管理者ログイン名]を[db_admin]、データベース名を[test_db]と設定され、文字コードを[utf-8(unicode)]に変更する設定例を案内します。 (b-1).ご契約サーバに root ユーザにて ssh を用いてログインします。 (b-2).以下のコマンドを実行し、データベースを削除します。(データベースに保存されたデータが削除されますのでご注意ください。) dropdb -u db_admin -w test_db ※コマンドを実行する際は[#]を除いて実行してください。 ※パスワードが要求されますので、設定されたパスワードを入力してください。 (コマンド実行例) dropdb -u db_admin -w test_db password: drop database ※「drop database」と表示されれば削除成功です (b-3).以下のコマンドを実行し、データベースを再作成します。 # createdb -u db_admin -w -e unicode test_db ※コマンドを実行する際は[#]を除いて実行してください。 ※パスワードが要求されますので、設定されたパスワードを入力してください。 (コマンド実行例:utf-8(unicode)で作成する場合) createdb -u db_admin -w -e unicode test_db password: create database ※「create database」と表示されれば作成成功です (b-4).plesk 画面の phppgadmin 等より文字コードが変更されたことを確認してください。