ども。
足腰が痛むので、本気で減量を迫られている担当ちゅんです。
さて、本日は久しぶりにPCの保守案件。とある部署から「グループウェアの掲示板からファイルをダウンロードしようとすると、文字化けして開けない」というSOSがありました。
話を聞くと、隣の席の人は問題なくダウンロードできるのですが、その端末からのみ文字化けするようです。
電話では解決しなかったので、とりあえず情報政策室に「入院」となりました。試してみると、やはり文字化けします。しかも程度が悪いことに、
こんなタイトルのファイル名があったとしたら、
こんな感じに文字化けするのです。拡張子の前にあるべき「ドット」が、「中黒」に置き換わってしまうために、アプリケーションとの関連付けが崩れてしまい、開くこともできないのです。
あれこれ試してみて、ふと「IEのバージョン」が気になったので確認してみると、対象のIEはバージョン11でした。当町では業務システムの関係上、IE11は使用しないようにしているのですが、当該PCでは業務システムを操作しないため、11にアップデートされていたようです。
そうなると、怪しいのは一気に「11」ということに。Googleで検索してみると、これがビンゴでした。
中にははっきりと「バグである」としているサイトも見受けられるのですが、どうやらIE11でマルチバイト文字(日本語文字)が使われているファイルをダウンロードすると、文字化けすることがあるようです。
この対策として、互換表示設定にサイトのURLを登録すれば改善するようなので、グループポリシーを編集して、グループウェアのURLを追加、問題の解決に至りました。
======= ここからは同業者向け =======
でも、どうも釈然としないものもあります。そのグループウェアのソースコードには、ちゃんと
<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE8" />
この一文がはいっているんですよね。「IEをIE8互換モードで動かしてね」という命令文にあたるのですが、これがあるくせに、なぜ互換表示設定をしなければならなかったのでしょうか。
IE11からの仕様で、UserAgent にMSIE が含まれなくなったという話がどうもそれっぽいのですが、このことと互換モードにならなかったことがどうつながるのか不明です。
そもそも、なぜ文字化けするのかという話です。IEではUTF-8をSJISに変換しないと文字化けするみたいなのですが、たぶんこの変換をUserAgent「MSIE」で判断しているんでしょうね。こういうことって、やっぱりグループウェアの業者さんに教えてあげるべきなのでしょうか・・・。この記事のURLをこっそり送っておこうかな。
これが動かない理由がよくわかりません。
(投稿者:ちゅん)