URLにおける非UTFアクセント文字の問題

スペイン語のフォーラムを移行しており、すべてのトピックにパーマリンクを設定しています。
既存のタイトルとURLには、パーセントエンコーディングでエスケープされたISO 8859-15のアクセント付き文字が含まれています。

forum/showthread.php?96700-Galer%EDa-de-im%E1genes

これを /forum\\/showthread.php\\?(\\d*).*/thread/\\1 に書き換えていますが、パーマリンク正規化が処理される前にサーバーエラー(白いページ)が発生します。

たとえば、Tryでこれを確認できます。

https://try.discourse.org/forum/showthread.php?96700-Galer�a-de-im�genes は空白ページと「bad request」を表示します。 Rack::QueryParser::InvalidParameterError (invalid byte sequence in UTF-8)

https://try.discourse.org/forum/showthread.php?96700-Galeria-de-imagenes は通常の「not found」ページを表示します。

あまりカスタムなnginx設定を行わずに、この問題を回避するヒントはありますか?

「いいね!」 3

96700-Galer%EDa-de-im%E1genes を ISO 8859-15 としてデコードし、UTF-8 としてエンコードしてからパーマリンクを生成するのが解決策でしょうか?それとも、URL に ISO 8859-15 でエンコードされた文字を使用している実際の被リンクが存在するのでしょうか?

パーマリンクを機能させるためにパーセントエンコーディングを使用する必要があるかどうかさえ定かではありません。コードを見ていません。少し実験する必要があると思います。簡単な解決策はないと思います。解決策を見つけたら、ここに投稿してください。他の人にも役立つかもしれません。

「いいね!」 1

はい、私たちが管理できない外部リンクが約15万件存在します。