「é」という文字列があり、URLを介して次のコントローラに送信すると、その文字が%C3%A9にエンコードされ、受信時に他のコントローラは、 "é"にデコードされます。 私の質問は、 "é"をURLにエンコードする方法です。他のコントローラで受信した場合、 "é"にデコードされますか?今のところ、私はそれらを手動で置き換えています。私はそれを自動的に、任意の特殊文字(éèà...)で行う方法が必要です ありがとうございます。URL経由で特殊文字を送信するJava
0
A
答えて
0
残念ながら、URLデータのエンコードを宣言する方法はありません。一般的なエンコーディングはISO-8859-1またはLatin1でしたが、現在ではUTF-8が新しい開発でよく使用されています。その理由は、サーブレット仕様では、文字セットが指定されていない場合はISO-8859-1が暗黙指定されていますが、HTML 4.0ではURLにUTF-8が推奨されているためです。
URLはバイトで構成されており、サーブレットコンテナはアプリケーションに渡す前にサーブレットコンテナからそれをJava文字に変換するため、サーブレットコンテナレベルで使用される文字セットを宣言する必要があります。互換性の理由から、バージョン8.0より前のよく知られているTomcatは、デフォルトでURLのLatin1文字セットを想定していました。 8.0.0以降、デフォルトは「strict servlet compliance」の設定に依存します。それは、ISO-8859-1たときに真とUTF-8偽
参考文献である:あなたの正確な質問については
- What character set should I assume the encoded characters in a URL to be in?
- Tomcat FAQ/CharacterEncoding
、次の2つの方法がありますé
文字を正しく処理する:
- は変わらないサーブレットコンテナの設定のままにし、ISO-8859-1でURLをエンコードURLでUTF-8から
- スティック(
é
は%E9
になります)が、サーブレットコンテナ
関連する問題
- 1. Javaのソケット経由で文字列を送信する
- 2. SendKeys経由で特殊文字を送信するにはどうすればよいですか?
- 3. JavaのURLから送信された特殊文字のデコード方法は?
- 4. java経由でSMSを送信する
- 5. 特殊文字を含む値でフォームを送信する
- 6. AndroidでBluetooth経由で文字列(バイト)を送信する
- 7. file_get_contents - URLの特殊文字
- 8. Javaのソケット経由で文字列を送信する際の問題
- 9. シリアル経由でC#から文字列を送信する
- 10. netcat経由でリモートに16進文字列を送信する
- 11. サーバーにretrofit経由で文字列を送信する - Android?
- 12. BlueTooth経由で文字列を送受信する方法
- 13. SabreCommandLLSRQに特殊文字を含むリクエストを送信する
- 14. Javaのデータグラム経由でデスクトップストリームを送信
- 15. vncdoは大文字と小文字と特殊文字を送信します
- 16. 特殊文字を送信する方法json request sopaui
- 17. Codeigniterで特殊文字を送信できません
- 18. jQuery ajaxで特殊文字を送信できません
- 19. PERL:文字列を変換してGET経由でURLに送信
- 20. JAVA解析特殊文字
- 21. Java置換特殊文字
- 22. C++でwinsock経由でUnicode文字列を送信
- 23. は、FTP経由で文字列を送信:エラー
- 24. Android、HTTP経由でサーバーにXML文字列を送信
- 25. 空白文字列をソケットtcp経由で送信
- 26. 特殊文字を含むバッチファイルに引数を送信
- 27. URL文字列に特殊文字を使用する
- 28. web-apiプロジェクトの特殊文字を送信
- 29. get url経由でデータを送信する
- 30. 特定の接続経由でアンドロイドアプリでトラフィックを送信する
[ 'にそれを宣言しますURLEncoder'](https://docs.oracle.com/javase/7/docs/api/java/net/URLEncoder.html)および['URLDecoder'](https://docs.oracle.com/javase/7 /docs/api/java/net/URLDecoder.html)? – KarelG
[HTTP URLエンコーディングin Java](https://stackoverflow.com/questions/724043/http-url-address-encoding-in-java)の可能な複製 –