wszystkie stringi które dochodzą do kontrolerów w mojej aplikacji mają kodowanie 8-bitowego ASCII. Tak na prawdę to powinny być w takim kodowaniu w jaki precyzuje odpowiedni nagłówek HTTP.
Ale dobrego rozwiązania brak w dyskusji. Jak mogę zapewnić to że params jest w poprawnym kodowaniu bez robienia brzydkiego hacka który mi przejrzy wszystkie parametry i zmieni ich kodowanie?
Hubertowi już odpowiadałem, napiszę jeszcze dla reszty:
Niezawsze da się stwierdzić kodowanie znaków jakie przychodzą w żądaniu HTTP - czasem kodowanie jest podane w Content-Type (POST), ale często paramsy budowane są z URL-a (wtedy kodowania ustalić się nie da). Ogólnie ekipa Racka przyjęła założenie, że wszystko co przychodzi z zewnątrz należy traktować jako ASCII-8BIT, za ustawienie odpowiedniego kodowania powinna być odpowiedzialna sama aplikacja. Idąc tym tropem - powinniśmy w aplikacji przelecieć sobie po paramsach i ustawić kodowania znaków. Takie rozwiązanie nie jest zapewne zbyt wydajne, dlatego prędzej czy później powinna pojawić się odpowiednia opcja w Racku umożliwiająca ustawianie kodowania przy tworzeniu paramsów.