コア アプリの 1 つを Windows+IIS+Coldfusion から Ubuntu+Apache+Lucee に移動しました。最初の大きな問題は、エキゾチックなアルファベットの URI エンコーディングです。
たとえば、この URL にアクセスしようとするとhttp://www.example.com/ru/Солнцезащитные-очки/saint-laurent/
、Apache access.log に次のレコードが記録されます。
http://www.example.com/ru/%D0%A1%D0%BE%D0%BB%D0%BD%D1%86%D0%B5%D0%B7%D0%B0%D1%89%D0%B8%D1%82%D0%BD%D1%8B%D0%B5-%D0%BE%D1%87%D0%BA%D0%B8/saint-laurent/
まあ、それは正しくURLエンコードされていると思います。次に、.htaccess ファイルで書き換えルールを使用して、URL クエリ文字列パラメーター (「foo」としましょう) で URL のその部分 (キリル文字) を取得します。
cflog を使用してダンプすると、アプリケーション ログに次のように表示されます。
/index.cfm?foo=оÑки-длÑ-зÑениÑ&
...これは明らかに間違っています。必要なのは元の文字列であり、utf-8 キリル文字です。
server.xml tomcat http コネクタに URIEncoding パラメータを入れようとしましたが、結果はありませんでした:
<Connector port="8888" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443"
URIEncoding="UTF-8" />
URL パラメータを UTF-8 で取得するにはどうすればよいですか?