Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

Postgres-WASMの環境に日本語を入力できない

問題

Postgres-WASMをオンラインで試せるサイト、たとえばSupabaseのPostgres-WASMCrunchy DataのPostgres-WASMを使ったチュートリアルでは、コンソールから日本語を入力しようとすると文字化けしてしまう。たとえば、Linkedin LearningのSQL基本講座の内容を実行しようとしても、日本語を含むデータをINSERTできない。

原因

SupabaseのPostgres-WASMでは\qでshに落ちることができるが、localeに関する環境変数は設定されていない*1。そのため、localeがCになっておりUS-ASCII以外の文字は入力できないものと思われる。

psを見てもTTYらしきものがないし、who am iでもログイン中のユーザが表示されないのでコンソールのlocaleがどうなっているのか分からない。whoの出力を見るとBusyBoxベースの環境みたいだけど、BusyBoxだとlocale設定ってどうやるの? それともlocaleの設定方法ってlibcごとに変わるんだっけ。現在の環境で使われてるlibcの種類が何か知る方法ってあるんだっけ?(コンテナベースのLinux環境にぜんぜん触れてない年寄り)

*1:localeコマンドは用意されていないようで実行できない