常にUTF-8としてURLを送信する
会社のPC(XP)でsafariを使用しています。
IEブラウザでは 「常にUTF-8としてURLを送信する」という設定があります。
safariにはそういう設定方法があるのでしょうか?
教えてください。
会社のPC(XP)でsafariを使用しています。
IEブラウザでは 「常にUTF-8としてURLを送信する」という設定があります。
safariにはそういう設定方法があるのでしょうか?
教えてください。
MacのSafariやFireFoxでは、デフォルトでUTF-8でエンコーディングされていると思ってましたが、Windowsでは違いますか?(Safariではアドレスバーの表示は日本語のままだが、実際はエンコードされている。)
「エンコーディング」と「URLを送信する」は同じ意味なのでしょうか?初心者質問ですみません。
会社で使っているブラウザでのメールソフトを使うには、FireFox、IEともこの設定が必要です。(でないと添付ファイルを開くときにエラーが起きてしまいます。)
IEの設定はチェックボックスをチェックしました。
FireFoxでは確かに、about:config入力でnetwork.standard-url.encode-utf8をtrueに変更しました。
サファリではデフォルトのエンコーディングをunicodeにすればよいのですかね?
その設定でサファリにて使って見たのですが、改善しませんでしたので、他の方法があるのかなと考えておりました。
だいぶ話がこんがらがっているようです。
Safari for Windowsの、どのメニューから、
何を選択して、どの機能にチェックを入れて・・・
など、順序を追って説明されると良いでしょう。
(Mac OS X 用のメニューとはだいぶ違います)
私もちょうど今日、職場のPC (Windows XP) にSafari for Windowsを入れたので様子を見てみます。
>「エンコーディング」と「URLを送信する」は同じ意味なのでしょうか?
私が「エンコーディング」と書いたのは、当然URL(正しくはURI)のエンコーディング、すなわち、サーバに送られる文字列のエンコーディングです。(Safariのメニューにあるデフォルトエンコーディングはページのエンコーディングですので、全く別です。)
SafariではURIエンコーディングは常にUTF-8で、逆に他のエンコーディングにする設定は無いんじゃないかと思うのですが。
お困りなのは、ウェブメールで日本語の添付ファイルが開けない、ということなんでしょうか?もっと具体的に問題点をお書きになった方が良いと思います。
トラブルの内容は、ウェブメールで添付ファイルを開くときに添付ファイル名が化けてしまって「ファイルが見つかりません」という風になってしまいます。
たとえば「“±“ü_」のような感じです。
この現象は会社で使っているウェブメール特有の問題のようです。
gmailの添付ファイルを開くときは問題ありません。
「------」となりますが開くことができます。
宜しくお願いします。
解決策ではないですが、以前に自分がwebから日本語ファイル名のファイルをダウンロードする機能をサーバに持たせようとしたときに発生した問題と関連がありそうです。
状況からの判断でしかないですが、そのwebメールシステムの生成するHTMLのエンコードがutf-8になっていないのではないでしょうか?
ためしに添付ファイルをダウンロードするページのソースを表示してみて、最初の行から</head>までの間をここに書いてみてください。
SafariはURI送信時に使うエンコードをそれがリンクされていたページのエンコードと同じにしているようですので、リンク元のHTMLがutf-8でなければ正常動作しないと思います。つまり、URIをutf-8で受け取りたいサーバは、元ページのエンコードもutf-8にしていないといけない(普通はそのはず)ということです。
IEはデフォルトでは元HTMLのエンコード指定に関わらず(URIの文字列エンコードを自分で判断して、そのエンコードで送信しようとするようです(判断できないときはデフォルトのShift-JISにしてしまう)。この判断の正否は使われている文字列に依存してしまうので「常にutf-8でURI送信」のチョイスがあるのではないかと思います。
URI送信の問題だけではなく、IEは往々にしてHTML内に書かれたエンコード指定を無視して、勝手にエンコード解釈をしようとする傾向があります(エンコード指定が間違っていたりなかったりしたときにできるだけ正しく表示してあげようと言う親心だとは思いますが)。
良いか悪いかは別にして、根本にあるプログラムのコンセプトの違い(Web制作者を信じるか信じないか)が原因だと思われます。
なお、IEでもSafariでもデフォルトのまま動作するようにweb作成することは可能です。
このためには、元HTMLのリンクに <a href="%e6%97%a5%e6%9c%ac%e8%aa%9e.pdf">日本語.pdf</a>のようにUTFエンコードをかけたURIを埋め込んでおくことです。このURI自体は生の漢字を含んでいませんから、ブラウザの設定いかんに関わらずそれを受け取ったサーバ側でUTF-8として解釈していれば正常動作させることができます。
これは dv_ibookさんの仕事ではなく、webメールシステムを作っている会社の仕事ですけど(そのシステムを作っている会社のスキルがちょっと不足しているように思います)。
「Safariでは常にURIエンコーディングはUTF-8」というのは私の調べ方が間違っていたための誤りで、Mac版、Win版どちらも、HALさんがレスされたように、ページのエンコーディングに従っているようです。残念ながら、これを強制的にUTF-8にする設定は、Safariにはないと思います。
RFC3987では、URIのエンコーディングにはUTF-8を使うべし、と定めてます。サーバ側がRFC3987に従っているとは限らないので、ページのエンコーディングに従うか常にUTF-8を使うかは、やはりブラウザ側で設定できた方が良いのでしょう。サーバ側に改修を要請するのはちょっと筋違いで、現状ではSafariは使えない、ということになるかと思います。
>サーバ側に改修を要請するのはちょっと筋違い
私が指摘したのは「サーバ側でも回避策がある」ということです。
どのようなwebメールサーバかわかりませんが、特定ユーザだけ(社内だけとか)をターゲットとしたシステムでないのであれば、現状で対応できないブラウザがあるのですから、回避できるものは回避したほうが良いであろう、という意図です(この手のものは理屈や規格がどうであれ、動かないことには話になりません(ユーザが納得しない)から)。
>サーバ側がRFC3987に従っているとは限らない
ブラウザ側もRFC3987(IRI)に従っているとは限らないですから。
先のサーバ側の回避策ならURIしか対応しないブラウザで正常動作します。
まあ、利用者ができることは限られているので、端的には「現状ではSafariは使えない」であることに違いはないですけど。
解決につながる回答でなくてごめんなさい _o_ > dv+ibookさん
ウェブメールは 日立の groupmaxというものを使っています。
safariは軽くてよいなあと思っていましたが、会社で使うのは諦めます。
ありがとうございました。
>ウェブメールは 日立の groupmaxというものを使っています。
あ... >_<<br />かなり初期のバージョンしか知らないけど、特定の環境以外のことを考えてくれそうには思えないですね...残念ながら(当時もぱっとしないシステムだとは思ってましたが...)。
常にUTF-8としてURLを送信する