0

「headerimage_3021」のような名前の画像を含むメール(PEAR付き)を送信しようとしたところ、メールに表示されないことに気付いたので、質問しているだけです。

受信した電子メールのSRCを確認すると、スペースが+に置き換えられ、リンクが間違ったファイルを指しているようになりました。現在、IIRC、+はURLのスペースの正しいエンコーディングですが、ブラウザは「header+image_2031」を見つけることができませんでした。

Gmailのshoworiginalとサーバーログの両方でメールの元の内容を確認しましたが、スペースはまだ残っていたため、置換はブラウザまたはGmailのレンダリングプロセスのいずれかによって行われました。

その後、アップロードアルゴリズムを変更して、ファイル名にスペースを使用できないようにしましたが、次の質問をする必要があります。ブラウザがファイル名にスペースを含む画像を表示するようにするための最良の方法は何ですか。それらを自分で%20に置き換えますか?ブラウザにやらせますか?それらを禁止しますか?

4

1 に答える 1

0

必ずエンコードしてください。そうすることで、さまざまなクライアントが文字列をどのように解釈するかというニュアンスを取り除くことができます。@mrエイリアンが言ったように、それを処理するすぐに使えるphp関数があります。

于 2013-02-26T14:41:23.967 に答える