
日本語ファイル名の利用とバージョン管理
− 次世代プロトコルWebDAVの可能性[後編] −
宮本 久仁男<kmiya@coe.nttdata.co.jp>
NTTデータ COEシステム本部
システム技術開発部第三技術開発担当
2001/10/16
日本語ファイル名問題の解決
中編で構築したWebDAV環境で日本語を含む名前のファイルやフォルダを作ると、画面5のように一見正しく作成されているように見えても、
![]() |
| 画面5 Webフォルダで新規にフォルダを作成 |
フォルダ情報を更新すると画面6のように実は名前が化けていたりすることに気が付くはずだ。この状態でアクセスすると、エラーが発生してそのファイルやフォルダは利用できない。これではいささか具合が悪い。
![]() |
| 画面6 日本語は文字化けしてしまう |
これは、ファイルの作成やファイル名の変更時に、WebDAVサーバに送るファイル名の文字列符号化形式がシフトJISであるのに対し(図5)、WebDAVサーバからクライアントに送られるファイル名の文字列符号化形式はUTF-8なのが直接の原因である。
![]() |
| 図5 WebDAVサーバとクライアントが、それぞれ異なる文字列符号化形式でやりとりしている |
| コラム URLの文字列符号化形式についての補足 |
| クライアントからどのような符号化形式のファイル名文字列を送るかをサーバに通知するための仕組みがないうえに(XMLも関係することから、WebDAVではファイル名文字列の符号化形式についてもUTF-8を推奨していると推測される)、Webフォルダから送出されるファイル名文字列の符号化形式が常にシフトJISであることが元凶である。この部分、RFC 2718においてUTF-8が推奨されている(URIの文字符号化形式の部分)旨が記述されていることもあるが、このようなちぐはぐがないような形で取り扱ってくれればと切に希望する。 |
このような状況を解決するのが、IIJのTaisuke Yamada氏が作成したmod_encodingモジュール(注)である。具体的には、図6のような動作を行う。Yamada氏は本モジュールをIIJ内部で使うために作ったが、会社の許可を得て社外に公開しているとのこと。詳細な使用条件は、モジュールに記述されているので参考にしてほしい。
![]() |
| 図6 mod_encodingにより、文字列符号化形式がUTF-8に統一される |
| 注:mod_encodingが使えない人は、ファイルやフォルダの作成後にフォルダ情報を更新しないで名前を変更するなどして対処してほしい。 |
■mod_encodingのインストール
mod_encodingの導入手順は以下のとおりである。
1.ソースコードの取得
mod_encoding.cはWebDAVのメーリングリスト(dav-dev)で公開されたものであり、これを入手するにはメーリングリストのアーカイブから取得する必要があった。しかし、今回は作者であるTaisuke Yamada氏のご厚意により、mod_encoding.cを転載させていただいた。転載を承諾いただいたTaisuke Yamada氏に感謝いたします。
mod_encoding.cのダウンロード
なお、mod_encoding.cのオリジナルはhttp://www.lyra.org/pipermail/dav-dev/2001-May/002428.htmlにある。
2.コンパイルおよびインストール
$ apxs -c mod_encoding.c |
これで、Apacheのモジュールが格納されているディレクトリにmod_encoding.soが作成される。
3.Apacheの設定
httpd.confファイルを編集して、
LoadModule encoding_module libexec/mod_encoding.so |
という記述を追加することでmod_encodingの機能をApacheに取り込み、
<IfModule mod_encoding.c> |
と記述することで、特定の種類のクライアント(ここではMicrosoft系OSおよびcadaver)のClient Encodingを指定し、適切な処理を行えるようにする。
4.動作確認
ここまでで、日本語ファイル/フォルダ名が扱えるようになっているはずだ。実際に日本語で名前を付けたフォルダやファイルを取り扱った例を画面7に示す。
![]() |
| 画面7 mod_encodingインストール後。日本語のフォルダ/ファイル名が扱えるようになっているのが分かる |
■mod_encoding利用時の注意
mod_encodingは文字コードの取り扱いをiconv()の実装に依存しているため、iconv()がインストールされている必要がある。Linuxについては、最近のディストリビューションで採用しているglibcであれば問題はない(iconv()が入っている)が、そうでないものやiconv()がないOSなどでは、別途libiconvが必要となる。
なお、古いバージョンのglibcを使ったLinuxだったりすると、iconv()の実装が古くてmod_encodingモジュールが正常に機能しないことがある。このような場合は、mod_encoding.cの170行目にある、
iconv(cd,
NULL, NULL, NULL, NULL);
|
の行を丸ごとコメントアウト/無効にすることで取りあえずの対処はできる。しかし、この部分はバッファやステータスのフラッシュを実行する部分とのことなので、glibcのバージョンアップなどで対処する方がよい。
また、iconv()の実装に起因した問題もあるが、それについては後述する。
| 中編へ |
1/3
|
|
||||||
|
||||||
| Linux Square全記事インデックス |
| Linux Squareフォーラム WebDAV関連記事 |
| 特集:次世代プロトコルWebDAVの可能性[前編] 技術仕様徹底解説 将来、SambaやCVSを不要にする可能性を秘めた「WebDAV」。このプロトコルの仕様から実用化までを徹底解説。今回は、技術仕様を明らかにする |
|
| 特集:次世代プロトコルWebDAVの可能性[中編] WebDAVクライアント/サーバ環境の構築 WebDAVの実装はすでに存在する。LinuxによるWebDAVサーバの構築とクライアントの整備を行い、実際に使ってみよう |
|
| 特集:次世代プロトコルWebDAVの可能性[後編] 日本語ファイル名の利用とバージョン管理 日本語ファイル名を扱えるようにするほか、WebDAVの「V」を司るバージョン管理機能を実現。WebDAV解説完結編! |
|
| 特集:WebDAV時代のセキュリティ対策[前編] WebDAVのメソッドは便利な反面、セキュリティホールとなり得る。しかし、適切な対策を講じることでメソッドの危険性は取り除くことができる |
|
| 特集:WebDAV時代のセキュリティ対策[後編] WebDAVの使用に際し、包括的な対策を行っておくのも重要である。何をどのように設定すればよいのかをここで明らかにする |
|
| 特集:Apache
2.0でWebDAV Apache 2.0の正式リリースでWebDAVも新たな段階に入った。一方で、1.3時代のmod_encodingがうまく機能しないという問題も浮上した |
|
| 特集:Subversionによるバージョン管理 DeltaVがRFCとしてリリースされ、WebDAVのバージョン管理機能も足元か固まった。DeltaVの実装である「Subversion」を導入しよう |
|
| Linux Squareフォーラム全記事インデックス |
|
ホワイトペーパー(TechTargetジャパン)
- natテーブルを利用したLinuxルータの作成 (2010/2/9)
natテーブルを用い、市販のブロードバンドルータと同等かそれ以上の機能を備える「Linuxルータ」を作成してみましょう - Web監視機能を賢く利用する (2010/2/2)
プロセスの稼働確認だけでは、サービスが正常に提供できているか分からないことも。そこで使いたいのがWeb監視です - ものいわぬOpenLDAPサーバのログ管理 (2010/1/20)
不満をいわないコンピュータが相手だからこそ、常にログが確認できる状態を整備することが重要になります - ネットワークアクセス権も放棄せよ (2010/1/12)
新しいセキュリティ機構「disablenetwork」を提案する1通のメールから始まった議論が、LSMも巻き込む話へと拡大しました
|
|
スキルアップ/キャリアアップ(JOB@IT)
スポンサーからのお知らせ
- - PR -
- - PR -
お勧め求人情報

**先週の人気講座ランキング**
〜CCNA編〜
| ◆ | 企業の仮想化に足りない“発想”とは? 仮想化運用管理のキモは意外なところに! New! |
| ◆ | 操作もマニュアルも分かりやすい! ユーザー視点で開発されたPC管理ツール New! |
| ◆ | 仮想化すればコストは削減できるか? 仮想化に必要な「3つの視点」を解説する |

| ◆ | セキュリティを知り尽くす上野氏が登壇! @ITメールソリューションLive! in Tokyo |
| ◆ | 運用管理の課題を“2つの観点”から分析 ユーザー満足度の高い「仮想環境」とは? |
| ◆ | 世界に通用するストレージの作り方とは? 製品に込めた思いを富士通の開発者に聞く |

| ◆ | OSSで手間も時間も、障害も減った―― 「マピオンの事例」オープンソース活用法 |
| ◆ | 「ノートPCの持ち出し禁止」で大丈夫? 情報漏えいを防ぐ管理手法とインフラは? |
| ◆ | 1日の処理を1秒に――MySQLの達人が語る 「コスト削減」できるチューニング |

| ◆ | ドキュメント作成を自動化して、SEの作業 効率を大幅アップ! Visio 2007の魅力 |
| ◆ | 急速に広がるHyper-Vでのサーバ仮想化 そのベストプラクティスをデルが解説 |
| ◆ | @IT主催セミナーで語られた、「担当者に 求められるセキュリティ対策」をレポート |

| ◆ | @IT「Windows 7」 特設サイトオープン! 最新情報・移行ノウハウを公開しています |











