[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:50663] Re: 日本語ファイル名について



柴田(あ)です。

はじめまして。

<14e3c4c20806080841r4afe3e2dmf62dfb55fdd7a495@xxxxxxxxxxxxxx> の、
   表題 "[debian-users:50643] Re: 日本語ファイル名について" 
   発信 "Mon, 9 Jun 2008 00:41:36 +0900"

> 確かにwinXPから見に行くのであればsjisファイル名でなんら問題ありません。
> 当方、今後mysqlの利用を考えており、puttyでmysqlを操作してみたいのです。
> mysqlはwindows版もありますがosへのアクセス人数を増やすには費用がかかります。
> そこで無償で使えるdebianの勉強を始めたところです。
> それにはまず日本語が正しく表示されなければ話になりません。

ファイル名はどんな風になっていますか?
当方のところだとこんな風になります。 (ターミナルは utf-8 )
  $ ls
  3560タ゜テ??ータョゾス・xls  NWウオヘ??゛.pdf

もしこんな風(utf-8に変換)に
  $ ls | nkf -w
  3560設置完成図書.xls
  NW概要図.pdf
nkf で出力文字コードを変えると表示が正しくかわるなら
ターミナルソフトの期待する表示文字コードを変えるとラクです。
上の nkf のオプション -w はもとの文字コードが何でアレ
utf-8 にしてくれるという仕組みで、当方のターミナルソフトは
標準で utf-8 がくるものと期待して表示しているから、
ls そのままだと文字が化け、 nkf で utf-8 に変換すると
日本語に戻るということです。

もう一度ポイントを書きます
・ samba での保存文字コード
・ターミナルソフトでの期待する文字コード
をあわせる必要があるということです。
下にいくつか失敗例を挙げます。


こちらはターミナルソフトの表示は utf-8 で sjisに変換
  $ ls | nkf -s
  3560ンu
        ョャ}.xls
  NW
    Tv}.pdf
こちらはターミナルソフトの表示は utf-8 で jis に変換
  $ ls | nkf -j
  3560@_CV40@.?^=q.xls


でもターミナルソフトの表示を sjis にしてあれば sjis に変換しても
  $ ls | nkf -s
  3560設置完成図書.xls
  NW概要図.pdf
ちゃんと表示されます。

でもターミナルソフトの表示を jis にしてあれば jis に変換しても
  $ ls | nkf -j
  3560設置完成図書.xls
  NW概要図.pdf
ちゃんと表示されます。

要は保存されているファイル名の文字コードとターミナルが同じ
文字コードを使えばいいだけです。
なおもともとあるファイルは、偶然同じ文字コードにならない
限り正しく見えるようにはなりません。


ここで使う nkf がなかったら
$ ls | nkf -w
-bash: nkf: command not found

こんな風にインストールしてみてください。
$ sudo apt-get install nkf
Password:
Reading package lists... Done
Building dependency tree... Done
The following NEW packages will be installed
  nkf
0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
Need to get 115kB of archives.
After unpacking 299kB of additional disk space will be used.
Get: 1 http://ftp2.jp.debian.org stable/main nkf 2.07-1 [115kB]
Fetched 115kB in 1s (115kB/s)
Selecting previously deselected package nkf.
(Reading database ... 26695 files and directories currently installed.)
Unpacking nkf (from .../archives/nkf_2.07-1_i386.deb) ...
Setting up nkf (2.07-1) ...


ちなみに当方の samba の文字コードは euc なので一番最初にやった ls の
結果はそのままでは化けますが、ターミナルソフトの文字コードを euc に
すると下のように化けなくなります。
  $ ls
  3560設置完成図書.xls  NW概要図.pdf

[global] セクションの文字コードのところはこんな感じですから euc で保存されます。
   unix charset = EUC-JP
   dos charset = CP932
   display charset = CP932


参考になれば幸いです。

-- 
SHIBATA Akira      ケーブルテレビはまちづくり
shibata@xxxxxxxxxxxxxx   phone : +81-429-74-3611