LoginSignup
17
12

More than 3 years have passed since last update.

文字コードをコマンドで切り替える(iTerm2 )

Last updated at Posted at 2019-03-23

環境、ファイルごとに文字コードがeuc, utf-8と混在しており、頻繁に日本語が文字化けしていました。
毎回iTerm2の設定画面で切り替えていましたが、面倒なのでコマンドで切り替えれるようにします。

プロファイルを文字コードの数だけ作る

iTermを開いている状態でcmd + ,でPreferencesを開き、
+ボタンから必要な数だけプロファイルを作成します。
名前は文字コード名がよいでしょう。
スクリーンショット 2019-03-23 21.16.04.png

Terminal設定で実際の文字コードを設定する
スクリーンショット 2019-03-23 21.22.34.png

コマンドでプロファイルを切り替える

$ echo -e '\033]1337;SetProfile=プロファイル名\a'で任意のプロファイルに切り替えることができます。

utf-8に切り替えてみる

$ echo -e '\033]1337;SetProfile=utf-8\a'
$ cat test.txt
aaa
あああ

eucに切り替えてみる

$ echo -e '\033]1337;SetProfile=euc\a'
$ cat test.txt
aaa
秧???????

参考:https://www.iterm2.com/documentation-escape-codes.html

シェルに切り替えコマンドを登録する

毎回コマンドを打つのは面倒なのでbash_profileや.zshrcに登録しておきます。

zshrcを更新後、source .zshrcコマンドやログインし直して設定値を読み込み直します。

alias utf="echo -e '\033]1337;SetProfile=utf-8\aencording:utf-8'"
alias euc="echo -e '\033]1337;SetProfile=euc\aencourding:euc'"

簡単に文字コードを切り替えることができるようになりました。

$ utf
encoding:utf-8
$ cat test.txt
aaa
あああ
$ euc
encoding:euc
$ cat test.txt
aaa
秧???????
17
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
12