- ベストアンサー
MacのFireFoxで日本語が含まれたファイル名はだめ?
今、JavaScriptで検索にヒットしたファイル(PDFファイル)を「href=」で開くというか呼び出すようにしています。 このPDFファイルは「名無し.pdf」のように日本語、つまり英数字以外の名前になっています。 コードはこのような感じです。 <a href="C:/名無し.pdf" target="_blank">名無し</a> 日本語の含まれたファイルでもWindowsのIE及びFireFoxとMacのSafariでは動作するのですが、MacのFireFoxでは動作してくれません。 前にやったときは出来たと思うのですが。 最近、FireFoxを新たにインストールしたせい? それとも設定でしょうか? ファイル名に英数字以外を使用するのが邪道だとは思うのですが、大量のPDFが既に日本語で名前がつけられているので、何か策があれば教えてください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
Fire"f"ox http://www.mozilla-japan.org/support/firefox/faq#spell-abbreviate > ファイル名に英数字以外を使用するのが邪道だとは思うのですが、大量のPDFが既に日本語で名前がつけられているので、何か策があれば教えてください。 2バイト文字の処理の問題だと思います。文字列をエンコードしてから処理しますので、元のファイル名と違いファイル名と言うことになりエラーになってしまうわけです。対処は…難しいかも。
その他の回答 (1)
- himajin100000
- ベストアンサー率54% (1660/3060)
んー報告がWindowsばかりで・・・「【Macだけで発生し】,かつ【未解決】」のバグが報告されてないなあ・・・誰か明示できる人いますか?>回答者様 >If link target URL has non-ASCII char that is not encoded by UTF-8, the default file name is always escaped at "Save Link As..." a要素のリンク先がUTF-8以外でエンコードされているとき,「Save Link As...」が常にエスケープされたファイル名になっている。(全OSで発生,修正済みで解決) https://bugzilla.mozilla.org/show_bug.cgi?id=314222 >international special characters in file names ファイル名中の国際文字(期限切れで解決) https://bugzilla.mozilla.org/show_bug.cgi?id=272135 >Can't open a local file which has non-ascii characters in its path/file name Windows XPで,ASCII文字以外がパス名・ファイル名に含まれるローカルファイルを開くことができない(修正済みで解決) https://bugzilla.mozilla.org/show_bug.cgi?id=263570 >Can't open a link to a local file which has non-ascii characters in the filname ASCII文字以外以外がパス名・ファイル名に含まれるファイルへのリンクを開くことができない(Windows 2000で発生,重複のため解決扱い) https://bugzilla.mozilla.org/show_bug.cgi?id=308159 >Cannot open local file from "Index of file://" if its file name contains non-ASCII character (if network.standard-url.encode-utf8 is true) file://で始まってファイル名にASCII以外の文字を含むファイルを,network.standard-url.encode-utf8がtrueであるとき,ファイル開くことができない(Windows 2000で発生,修正済みで解決) https://bugzilla.mozilla.org/show_bug.cgi?id=311387 ....etc
お礼
回答ありがとうございます。 色々調べていただいてありがとうございます。 やはり2バイト文字使用しない方向で、ローマ字変換するようなプログラムを作成することにしました。JavaScriptは初心者なので、この部分は以前やっていたC++かC#でやってみます。
お礼
回答ありがとうございます。 >Fire"f"ox そうでした、以前にも他の人にご指摘いただいたのですが、また間違ってしまいました。。 >2バイト文字の処理の問題だと思います。文字列をエンコードしてから処理しますので、元のファイル名と違いファイル名と言うことになりエラーになってしまうわけです。対処は…難しいかも。 やはり難しいですか。 確かFirefox1.5だと動いていたと思うのでブラウザの方で2バイト文字にも上手く対応してくれているのかと思っていましたが、2.0に更新したら駄目ということもあるのでしょうか。それとも1.5で動いたのは奇跡...悶々とするところです。