w-zero3日和

星羽がW-ZERO3、W-ZERO3[es]、その他モバイル端末を設定した時の覚え書きや自作アプリの公開など。

CABファイルをダウンロードする時に文字化けする問題を解消する一方法

2006年11月05日 | 使い方・再構築
dawnpurpleさんが【モバイルつれづれ日記:CABファイルをダウンロードするときに文字化けする問題】で、W-ZERO3単体でIEからCABファイルをダウンロードしようとした時に文字化けしたテキストが表示されてしまうことにして書かれていました。

FileDialogChanger、gsGetFileのFAQのようなもの
  ソースはこちらのホーミンさんの記事なのですが、原因はサーバ側のContent-Typeの未設定にあったんですね!なんでも、IEはContent-Typeが未設定の場合はデフォルト(text/html)で返してしまうので、文字化けしたテキストが表示されてしまうということでした。
その辺りは怪しいと思っていたのですが、PCからIEでCABファイルをダウンロードするとちゃんとダウンロード出来るので、Content-Typeは関係無いと勝手に思い込んでしまっていたんですよね(苦笑)
でも、なんでPCのIEからは大丈夫なんでしょうか・・・
IEがちゃんと拡張子を判断してくれてるのかな・・・
だとしたら、IEMobileもその辺を改良してもらいたいですよね~(苦笑
WindowsMobile6.0では直ってたりしないのかな^^;

というわけで、さっそく私のアプリのCABファイルを置いてあるレンタルサーバ(ロリポップ)に.htacessで.cabのContent-Typeを設定してみました。
ロリポップのような、PHPやデータベースなどが使える比較的ユーザーに柔軟なレンタルサーバであれば、.htaccessでの設定が出来るようになっているはずですが、セキュリティ強化の意味で使わせてくれないところもあるので、.htaccessが使えるかどうか問い合わせみて下さい。

◆.htaccessによる設定方法◆
テキストエディタに以下のように記述します。

AddType Content-type application/octet-stream .cab

application/octet-streamと指定された拡張子のファイルへのリンクを叩いた時にはそのファイルをダウンロードしてくれるようになります。

記述したら、.htaccessという名前で保存します。上手くその名前で保存出来なかった場合には、サーバにアップロードした後に.htaccessに名前変更して下さい。
この.htaccessをFTPソフトでレンタルサーバの自分用ルートフォルダ(/)へアップロードします。
そして、パーミッションを604 に変更すれば設定完了です。
自分のサーバに置いたCABファイルをW-ZERO3からダウンロードしてみると、文字化けテキストでなくてちゃんとダウンロードできるようになりましたよね。

でも、容量の小さいzipでダウンロードしておきたいという人も居ると思うので、今後も今まで同様アプリ公開時にはzip形式も一緒にアップしますね☆

◆自分で構築したサーバ上での設定方法◆
  自宅や学校等で構築したサーバにCABファイルを置いている人もいると思います。Windowsサーバはほとんど触れたことが無いので分からないのですが、LinuxでWebサーバにApacheを使っている人は、以下の方法で設定可能です。

Apacheの設定ファイル(httpd.conf)をエディタで開いてAddTypeの記述されている行に以下を追記します。
Apacheを自分でインストールした人は、/usr/local/apache/conf下、Fedora等のディストリビューションで最初からApacheがインストールされている場合は、/etc/httpd/conf下にhttpd.confがあるはずです。
見つからなかった場合は、locate httpd.confでローカル検索してみて下さい。


AddType application/octet-stream .cab

保存した後にApacheを再起動すれば設定完了です。
WindowsのWebサーバでも、同様にAddTypeの設定があると思うので、それを設定してあげればOKだと思います。

◆Content-Type未設定の理由◆
  無料でサーバ構築出来て費用が掛からないということからほとんどのレンタルサーバ業者がLinuxをOSとして使っています。Webサーバ、メールサーバ等必要なものは最初から入ってますし、構築の手間も省けますからね。
で、そのインストールされるWebサーバであるApacheの設定ファイルのAddTypeには.cabの記述がないため、未設定のところが多いんだと思います(苦笑

CABは圧縮形式の一つなのですが、元々はWindows用インストーラ(.msi)の中で使われていたので、「CABファイル自体をダウンロードする」ことは想定外だったんでしょうね。
でも、PDA界ではCAB圧縮が当たり前なので、レンタルサーバを構築する際にはここまで考慮して初期設定しておいてくれると、ユーザー側も嬉しいんですけどね。
.htaccessをユーザー側で設定可能にしてくれてたら、自分で設定出来るので問題はないですけども^^;


最新の画像もっと見る

4 コメント

コメント日が  古い順  |   新しい順
さすがです! (dawnpurple)
2006-11-05 23:16:36
コメントいただいてこちらに寄らせていただいたらもう対応されていたんですね!
.htaccessの修正でいけるってのは気がつきませんでした。そこまで設定できるサーバーは少ないと思いますが、レンタルサーバー系なら大丈夫そうですね。(プロバイダのHPスペースだとだめな気がします)
大変便利になりました。ありがとうございます。
お返事です (星羽)
2006-11-06 03:38:35
◆dawnpurpleさんへ◆
そういえばそちらにはお礼のコメントだけで、この記事については書いてませんでしたね^^;
サーバの設定は仕事で頻繁に行っているので、dawnpurpleさんの記事を読んでピンっと閃いたんです。
予想通り上手く行って良かったです☆

確かにプロバイダが提供しているHPスペースはいろいろと制限が多いですから、ダメなところの方が多そうですね・・・
CABファイルダウンロードの件 (CliCliClie)
2006-11-07 20:56:15
CABファイルダウンロードで文字化けの件
私も悩んでいたので、なるほど~って感じでした。
だからCABファイルでも場所によって
ダウンロードできる事もあったのですね。

私は、色々悩んだ末、Q.Browserを使う事で解決しました。
#まだ検証中ですが、今の所100%ダウンロード出来てます。

私のblogでちょっと書いてますので、もし宜しければご覧下さい。
お返事です (星羽)
2006-11-08 02:40:17
◆CliCliClieさんへ◆
記事読ませていただきました。
なんと!Q.Browserではブラウザ側でCAB対応されていたんですね!
軽快なテキストブラウザなのでたまに使っていたのですが、
そのことには気付きませんでした(驚
早速試してみますね♪