文字コード変換
<nkfコマンドとそのオプション(シェルスクリプト・コマンド)>
nkf オプション ファイル名
-e EUCコードで出力する。 -j JISコードで出力する。 -s シフトJISコードで出力する。 -w UTFコードで出力する。 -Lm 改行コードを" CR " (MAC)で出力する。 -Lu 改行コードを" LF " (UNIX)で出力す-Lw 改行コードを " CR/LF " (Windows)で出力する。<変換の例> sample.txtのテキストを漢字コードをS-JIS、改行コードをCR/LFでsample_sjis.txtに出力する。 $nkf -s -Lw sample.txt > sample_sjis.txt
遠隔ログイン時の文字化けを防ぐ
僕のいる研究室での共通文字コードはEUC-JPであり,cygwinの設定もそのようになっている︵実は僕のcygwinだけShift-JISになっているが,後輩にはEUC-JPにするように指示を出していたり….そのうち直さないとなぁ…︶.が,Ubuntuの文字コードはUTF-8である.そのため,Ubuntuにcygwinから遠隔ログインしたときに日本語は文字化けを起こす.これを解決するために,cocotを使う.
■cocot・インストール
$ mkdir src $ cd src $ wget http://vmi.jp/software/cygwin/cocot-20080315.tar.bz2 $ tar jxvf cocot-20080315.tar.bz2 $ cd cocot-20080315 $ ./configure $ make $ make installUbuntuにインストールする場合は,最後のコマンドだけつぎのように変更する.
$sudo make install■環境設定
$ infocmp cygwin > cygwin.terminfo %定義ファイルを作成 $ scp cygwin.terminfo [リモートホスト]:/tmp %定義ファイルをコピー $ ssh -l username@リモートホスト $ sudo tic /tmp/cygwin.terminfo %エントリーを追加■使い方
$ cocot -t EUC-JP -p UTF-8 ssh username@リモートホスト-t のあとにローカルの端末の文字コード,-p のあとにリモートの端末の文字コード. ■ゲートウェイマシンで自動的にSSH通信する場合
cocot -t EUC-JP -p UTF-8 ssh -t -X username@リモート ssh -X 192.168.hoge.hogeというように打ち込めば良い.hoge.hogeのところには自分のマシンのIPアドレス.
.bashrc バックアップ
ついでに残しておく.EUC-JPに直さなくちゃなぁ…といつも思うけれどやらない自分.
export LANG=ja_JP.SJIS export TZ=JST-9 export JLESSCHARSET=japanese-sjis alias ls='ls --show-control-chars --color=auto' alias geomview='/usr/local/Geomview/bin/geomview' alias opengl='gcc -DWIN32 -lglut32 -lglu32 -lopengl32' alias openglp='g++ -DWIN32 -lglut32 -lglu32 -lopengl32'