問題タブ [rfc2231]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - PHP: RFC-2231 UTF-8 文字列を Content-Disposition ファイル名としてエンコードする方法
シナリオ: (PHP の場合)国際文字をサポートするために、 UTF-8でエンコードされた文字列 ( ) を含むフォームを送信しています。$name
フォームを (GET 経由で) 送信すると、CSV ダウンロード ファイルが作成されます。ファイルの名前をその文字列+ .csv
( "$name.csv"
) にしたい。西洋の文字セットの場合、次のようにすることでこれをうまく行うことができます。
ただし、他の文字セットの場合、ダウンロード ファイルの名前はガベージ文字+ .csv
( など×œ×œ× ×›×•×ª×¨×ª.csv
) になります。私はRFC 2231に従って次のようなことをしようとしています:
しかし、私はいくつかの問題を抱えているようです:
- ブラウザは、ヘッダーの「filename」部分を無視しているようです。私のフォーマットは正しいですか?
/li>$name
" " のように、16 進数でエンコードされたオクテットの各文字をエンコードする必要がありThis%20is%20%2A%2A%2Afun%2A%2A%2A
ます。誰かがこれを適切に行う機能を持っていますか? 次のようにコーディングしましたが、正しくないと思います。
誰かがこれを経験していて、私を正しい道に導くことができますか?
php - RFC 2231 に従って PHP でファイル名をエンコードするにはどうすればよいですか?
MIME パラメータ値とエンコードされた単語の拡張子: Character Sets, Languages, and Continuations (RFC 2231)のエンコーディングに従って、ファイル名の値をエンコードするにはどうすればよいですか?
php - How can I decode a string that has been encoded using RFC2231 using PHP
I am parsing MIME formatted emails which have attachments. The attachments have their filenames encoded using RFC2231, so for example the 'content-disposition' of one of the attached files is:
#xA;How do I go about decoding that filename?
python - Python電子メールで非ASCIIファイル名の添付ファイルを電子メールで送信する
ファイル名に Unicode 文字が含まれるファイルが添付されたメールを送信するにはどうすればよいですか?
これまでのところ、ファイルは到着しますが、ファイル名は"noname"です。
これは、ASCII ファイル名に対して完全にうまく機能する部分です。
初挑戦
ファイル名だけでなく、エンコーディング、言語、およびエンコードされた文字列のタプルを追加します。
2 回目の試行:
次のように文字セットをグローバルに設定します。
3 回目の試行
使用するutils.encode_rfc2231
4 回目の試行
urllib.quote()
ファイル名を urlencode するために使用します。これは、ファイル名に対して 3 番目の方法と同じ効果があります。
何か案は?
RFC2231 ファイル名の文字エンコーディングに関する重要な点が欠けていますか?
Gmail の SMTP サーバーと python 2.7 を使用しています。