« 「名前を付けて画像を保存」でファイル名が「untitled.bmp」や「無題.bmp」に化ける。 | トップページ | 「名前を付けて画像を保存」するコンテキストメニュー拡張 »

2009年6月 8日 (月)

「名前を付けて画像を保存」で日本語ファイル名が「untitled.bmp」や「無題.bmp」に化ける。

IE9ではuntitled.pngや無題.png。

<img src="http://~/日本語.jpg">のようにURLに日本語が含まれる場合は、クライアントの送り方とサーバの受け取り方に選択肢があるため、合わないと表示ができません。
表示はできても、「名前を付けて画像を保存」すると、日本語ファイル名が「untitled.bmp」や「無題.bmp」に化けることがあります。
これは、たぶん、IEが「名前を付けて画像を保存」するときに、シフトJISのURLでキャッシュを探すせいだろうと想像してます。

で、対処法の一つは、URLをUTF-8のURLエンコードすることですが、その場合、「名前を付けて画像を保存」すると、日本語ファイル名が短いファイル名になります。

なので、URLに日本語を使うときは、<a href=URL><img src=URL></a> のように、<a href=URL>を併用するとよいでしょう。
これなら、「名前を付けて画像を保存」の代わりに「対象を保存」で、日本語ファイル名で保存できます。

« 「名前を付けて画像を保存」でファイル名が「untitled.bmp」や「無題.bmp」に化ける。 | トップページ | 「名前を付けて画像を保存」するコンテキストメニュー拡張 »