URLクエリーパラメーターに、URLエンコード・デコードした文字列を指定する時、いちいち「変換便利サイト」や「PHPスクリプト」で変換するのは些か面倒です。Linuxユーザーであれば、普段開いている端末(コンソール)で変換したいのでその方法を調べました。(2014/11/09作成)
nkfとは
nkf はネットワークでメールやニュースの読み書きをするために作られた、漢字コードの変換フィルタである。このnkfの特徴としては、入力漢字コード系の統計的な自動認識機能がある。このため、利用者は、入力漢字コード系が何であるかを知らなくても、出力漢字コード系のみ指定すれば良いことになる。ただ、この判定機構は、理論的には完全ではないが、通常のニュースやメールのメッセージについては確実に動作する安全なものにはなっている。
$ rpm -qa | grep -i nkf nkf-2.0.8b-6.2.el6.x86_64
文字コードの指定は「w」が「utf-8」となります。他エンコードの指定は「man nkf」を参照ください。
$ echo 'テスト' | nkf -WwMQ | tr = % %E3%83%86%E3%82%B9%E3%83%88
$ echo %E3%83%86%E3%82%B9%E3%83%88 | nkf -w --url-input テスト
以上
View Comments
この記事、役立ちました! ありがとう御座います。たまに URLエンコードされた名前を持つファイルが手に入ってしまう(?)ことがあり、それを日本語ファイル名に直すシェルスクリプトを書くことができました。