■
JSP Servletで構築している場合、文字コードの問題が発生する場合があり、「〜」などの文字が化けたりする。
その場合にはDBをunicode(UTF-8)で生成するとよい。
createdb -E UTF8 database
※postgresql
参考記事
文字化けは、データベース・アクセスでも発生することがある。 ここで問題となるのは、データベース本体がどのような文字コード で構築されているかだ。 データベースがUnicodeで構築されていれば、JDBCドライバは JVM内部のUnicode文字をそのままデータベースに送ればよいため、 文字化けが発生することはない。しかしデータベースがEUC-JPや Shift_JISで構築されていると、再びUnicode変換の問題が頭を もたげてくるのである。 さらに厄介なのは、JDBCドライバ固有の振る舞いが絡んで くることだ。例えばPostgreSQL 7.3系のJDBCドライバでは、 データベースがEUC-JPで構築されている場合、Unicode変換に 「Windows-31Jと同じ変換ルール」を適用する仕様になっている。 つまりコードポイントU+FF5Eの文字をEUC-JPの「〜」に 割り当てるのである。そのため、例えば「Webブラウザの フォーム入力をShift_JISでデコードする」「EUC-JPで 構築されたPostgreSQL 7.3.xにそれを保存する」といった Webアプリケーションでは、「〜」などの文字化けが 発生してしまう。この場合、PostgreSQLをUnicodeで構築するか、 各文字のコードポイントを強制変換するコードを挿入するなど しなくてはならない。