Java および .Net アプリケーション用のサーバーである Ruby on Rails アプリケーションがあります。データを送信するために使用しているカスタム ヘッダーがありますが、このデータが Ruby on Rails アプリに到達すると、Rails は値を UTF-8 として読み取り、値が有効な UTF-8 文字列ではないと言います。
たとえば、JÜRGENELITE-HP を送信すると、次のようになります。
#<ActiveRecord::StatementInvalid: PGError: ERROR: invalid byte sequence for encoding "UTF8": 0xdc52
: SELECT * FROM "replicas" WHERE ("replicas"."identification" = 'J?RGENELITE-HP') AND ("replicas".user_id = 121) LIMIT 1>
Java HTTP クライアント ライブラリは、データをコンソールに正しく出力します。
DEBUG [main] (DefaultClientConnection.java:268) - >> POST /ze/api/files.json HTTP/1.1
DEBUG [main] (DefaultClientConnection.java:271) - >> X-Replica: JÜRGENELITE-HP
DEBUG [main] (DefaultClientConnection.java:271) - >> Authorization: Basic bWxpbmhhcmVzOjEyMzQ1Njc4
DEBUG [main] (DefaultClientConnection.java:271) - >> Content-Length: 0
DEBUG [main] (DefaultClientConnection.java:271) - >> Host: localhost:3000
DEBUG [main] (DefaultClientConnection.java:271) - >> Connection: Keep-Alive
DEBUG [main] (DefaultClientConnection.java:271) - >> User-Agent: Apache-HttpClient/4.1.2 (java 1.5)
しかし、Rails に到達すると壊れます。HTTP がヘッダー値をエンコードするために使用するエンコードは何ですか?