コトの発端
さて、MariaDBのデータベースにテストデータでも流し込むか。。。
Insert into T_TEST values (1, 'あいうえお')
上記のクエリをTera TermでMariaDBのコンソールにコピペしたところ。。。。
Insert into T_TEST values (')
というように日本語が入力されず、前後の部分もおかしくなる問題が発生した。
これではテストデータを入力できない。
あと、MariaDBのコンソールだけでなく、bashに打ち込んでも表示がおかしくなるね。
環境
サーバ:GMOクラウドVPS
OS:Ubuntu 20.04 LTS
DBMS:MariaDB 10.3.31-MariaDB-0ubuntu0.20.04.1
調査編
Ubuntuのロケール設定を確認してみる。コマンドで下記を入力した。
# locale
LANGやLANGUAGEが空欄になっている。まさかの地域設定が未設定であった。
当初はMariaDBの設定を疑ったが結果的にOS側の問題であった。
解決編
下記サイトを参考にUbuntuのlocale設定を変更。
Linux OS ubuntu のlocale 設定
https://qiita.com/valzer0/items/d7166a27c156b0699655
日本語関連のパッケージをインストール。ibus-mozcはGoogle日本語入力のオープンソース版らしい。
apt install language-pack-ja-base language-pack-ja ibus-mozc
その後、bashの設定ファイルに言語設定を書き込み。
echo 'export LANG=ja_JP.UTF-8' >> ~/.bashrc
echo 'export LANGUAGE="ja_JP:ja"' >> ~/.bashrc
Tera Termにて再ログイン後、locale設定を確認。
日本語文字セットのjp_JP.UTF-8が設定された。
MariaDBに冒頭のクエリをコピー
正しく日本語が入力されるようになった。
めでたしめでたし。
参考
Linux OS ubuntu のlocale 設定
https://qiita.com/valzer0/items/d7166a27c156b0699655
いつもの
記事の正確性については無保証です。