2016-06-24 33 views
0

Amazon RDS PostgreSQLデータベースでトルコ語の特殊文字は表示されません。私の開発データベースは文字を正しく表示します。Amazon RDS(PostgreSQL)でエンコードされない特殊文字

pgAdminを使用してRDSインスタンスに接続すると、şajaıaüağaç@test.comではなく、■jaa²[email protected] test.comが表示されます。

サーバーのエンコーディングと照合は、それぞれUTF8とen_US.UTF-8です。

database.ymlファイルでは、エンコードをutf8に設定しました。

default: &default 
    adapter: postgresql 
    encoding: utf8 

私の開発データベースであるPostgreSQLも問題ありません。

私は間違っていますか?

答えて

1

私が覚えている限り、AWS RDSはデフォルトでlatin1エンコードでデータベースを作成します。 DBのテーブルと作成されたテーブルのエンコーディングがutf-8に設定されていることを確認してください。

+0

クライアントコードを 'SHOW CLIENT_ENCODING;でチェックすると、結果は** WIN1254 **となります。これは厄介な文字セットです。そして、 'SHOW SERVER_ENCODING;でサーバエンコーディングをチェックすると、結果は** UTF8 **です。しかし、SELECTコマンドでデータを取得すると、トルコの特殊文字は正しく表示されません。 – uzeuze

+0

私はどこでもutf8に固執します。 – Uzbekjon

+0

私はそれを解決しました。エンコードの問題は、pgAdminでのみ発生します。データベースからデータを取得するとき、トルコ文字が正しく表示されます。 – uzeuze

関連する問題