UTF8とUTF16
Linuxは現在UTFが文字コードとして良く使われますが、別のLinux PC間でファイルの受け渡しをした時、ターミナルの文字コードがUTF-16、UTF-8と異なると問題の原因になります。
その場合は日本語の文字コード変換にかつて良く使われたnkfコマンドを使います。nkf使い方と実例の詳しいページがあります。
https://osdn.net/projects/nkf/downloads/64158/nkf-2.1.4.tar.gz/
から
nkf-2.1.4.tar.gz
をダウンロードし、
su権限で
tar xvfz nkf-2.1.4.tar.gz;cd nkf-2.1.4;make;make install
してnkfをinstallしてみてください。
nkf -g hoge.txt で
UTF-16
が返ってきたら、
nkf -w --overwrite hoge.txt
nkf -g hoge.txt
は
UTF-8
を返すはずです。overwriteしたくない時は別ファイルにリダイレクトします。
nkf -w hoge.txt >newhoge.txt
UTF8->UTF16には
nkf -w16L --overwrite newhoge.txt
これで問題は解消します。