コンテンツへスキップ →

PostgreSQLで日本語での並び替えがうまくいかない場合の対処法

とあるサーバーでPostgreSQLを使っているのですが、サーバーを移行してから、日本語の並び替えがおかしくなってしまいました。今回はその解決方法についてです。

ロケールが違う場合に起きる

PostgreSQLのロケールは言語と文字コードを指定するようですが、例えば日本語+UTF8で作っているにもかかわらず、移行したサーバーが日本語+EUC-JPだった場合、こんな時に並び替えが上手くいきません。

レンタルサーバーの場合、ロケールを変えるのはできないところが多いと思います。
そんな時は

ORDER BY convert_to(title,'UTF8');

のようにconvert_toを使うことで解決できました。

[sc name=”engeneer”]

SHARE

無料メルマガ

「好きなことで生きていく」をコンセプトに、ブログの新着コラムをお届けします。
無料メルマガ登録はこちら

PROFILE

入江 慎吾
あらゆるスキルが学べるパーソナルメンターサービスMENTAの代表/個人開発が好きでこれまでに30個ほどのWEBサービスやアプリを作ってきました/福岡のWEB制作会社勤務→フリーランスエンジニア→法人立ち上げ→M&A億単位の売却を経験。 (詳しいプロフィール)

カテゴリー: 開発奮闘記