Linuxサーバ上に
EUC、SJISの文字コードで作られたファイル名のファイルを作りたいのですが、
出来るのでしょうか。
TeraTermで接続して、端末の設定で受信、送信の文字コードを変更して、
lang
1touch ほげほげ
と打つと
ファイル名が「????」と文字化けしてしまいます。
やりたいことは、EUCやSJISでの日本語のファイル名のファイルを作りたいのですが、
出来るのでしょうか。
Windows上でファイルを作ってもWinSCPやPuttyなどでファイル転送すると
ファイル名の文字コードが変わってしまうという話をきいたので、
Linuxサーバ上で作成したいです。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

回答6件
0
ファイル名の文字コードを変更する comvmv コマンドはどうでしょう。
コマンドの使い方はmanpageを参照してください。
投稿2015/02/05 04:37
総合スコア73
0
「EUCやSJISでの日本語のファイル名のファイルを作りたい」とのことですが、仮にそれがうまくいったところで、複数の文字コードのファイルが混在してしまうと後々いろいろと不幸になりそうです。ファイル名をどう扱うかは(Linux上の)各アプリ次第ですし、それらのファイル名をどう人間に見せるかは、端末側の設定もからんできます。
「EUCやSJISでの日本語のファイル名のファイルを作って」から最終的に何をやりたいのかを書かれると、より実践的な回答が得られるかもしれません。たとえば「古いファイルサーバ上にある既存の複数ファイルについて、一括でファイル名の文字コード変換をしたい」であれば、SMBCHARTOOLあたりでできそうです。
投稿2015/02/05 03:57
総合スコア1615
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
ベストアンサー
こんな感じで一時的にサーバの文字コードを変更してみてはどうでしょうか?
export LANG=ja_JP.SJIS
export LANG=ja_JP.eucJP
export LANG=ja_JP.UTF-8
Teratermでログイン後設定したい文字コードを設定して、Exitでログアウトすれば元の文字コードに戻りますので。。。
一時的な対応であれば、これで十分かと思いますが。。。
投稿2015/02/07 05:10
総合スコア1158
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
euc-jpは問題ないと思います。
Teratermをeuc-jpに設定して、
lang
1LC_ALL=ja_JP.euc-jp ls
で表示できるはず。
Shift_JISは、まず、
lang
1locale -a | grep ja
で、Shift_JISのロケールがあるかどうか確認。あれば、上記と同様。
無い場合は、ロケールの追加が必要です。/usr/share/i18n/charmaps/SHIFT_JIS.gz
というファイル(OSによってファイル名が違うかも)があることを確認して、rootで、
lang
1localedef -f SHIFT_JIS -i ja_JP /usr/lib/locale/ja_JP.sjis
最後のファイル名は出力ファイルで、ファイル名がロケール名になるようです。
ロケールが追加できたことを確認して、TeratermをShift_JISに設定し、
lang
1LC_ALL=ja_JP.sjis ls
で表示できるはず。
複数の漢字コードを使い分けるなら、Teratermインストールの時に、TTXKcodeChangeもチェックを入れてインストールしておくと、サーバー側からエスケープシーケンスを送ることでTeraterm側の漢字設定を変更することが出来るので、便利かも知れません。
lang
1#!/bin/sh 2# sjisモードに切り替えて ls 3echo -en "\e]5963;kr=sjis;kt=sjis\a" 4LC_ALL=ja_JP.sjis /bin/ls "$@" 5sleep 1 #ちょっと待たないと駄目みたい 6echo -en "\e]5963;kr=utf8m;kt=utf8\a"
投稿2015/02/05 02:22
総合スコア86289
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
0
端末をUTF-8のままでEUCのファイルを作成したい場合はnkfなどで変換すると良いと思います。
投稿2015/02/04 23:27
総合スコア1293
0
ツッコミたいところがいくつかありますが、
おそらくTeraTermの文字コードの設定がされていないために化けているのだと
思います。
http://www.j-oosk.com/teraterm/configuration/563/
投稿2015/02/04 16:37
総合スコア783
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。

あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
質問の解決につながる回答をしましょう。 サンプルコードなど、より具体的な説明があると質問者の理解の助けになります。 また、読む側のことを考えた、分かりやすい文章を心がけましょう。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。