IT技術にまつわる実験ノート

「長編を書くより、短編を数多く完成させてください。それが上達への近道です」 by 手塚治虫

自作Webアプリ「IT勉強会用 名刺ジェネレーター」を公開しました!ぜひご活用ください😀

https://it-benkyoukai-meishi.herokuapp.com/

「ERROR: invalid locale name: "ja_JP.UTF-8"」に対処する

 エラー発生

f:id:matt-note:20190201215202p:plain

 

確認してみる。

f:id:matt-note:20190201215247p:plain

-> ロケールに ja_JP.UTF-8 がなかった。

 

以下のコマンドを実行する。

  • sudo localedef -i ja_JP -c -f UTF-8 -A /usr/share/locale/locale.alias ja_JP.UTF-8

f:id:matt-note:20190201215612p:plain

-> ロケールに ja_JP.UTF-8 が追加された。

 

ja_JP.UTF-8 を使う

結局、以下の方法でデータベースで ja_JP.UTF-8 が使えるようになった。

 

PostgreSQL にログインして、以下のコマンドを実行する。

  • UPDATE pg_database SET datistemplate = FALSE WHERE datname = 'template1';
  • DROP DATABASE template1;
  • CREATE DATABASE template1 WITH TEMPLATE = template0 ENCODING = 'UTF8' LC_COLLATE = 'ja_JP.UTF-8' LC_CTYPE = 'ja_JP.UTF-8';
  • UPDATE pg_database SET datistemplate = TRUE WHERE datname = 'template1';

f:id:matt-note:20190201225938p:plain

-> ja_JP.UTF-8 になった。

 

データベースを作成してみる。

  • CREATE DATABASE sample_db;
  • \l

f:id:matt-note:20190201230136p:plain

-> 作成するデータベースで、ja_JP.UTF-8 を使うようになった。

 

まとめ

PostgreSQL はデータベースの template1 を複製してデータベースを作成する。template1 を ja_JP.UTF-8 にすると、新規で作成するデータベースも ja_JP.UTF-8 になる。