Java 및 .Net 앱용 서버 인 Ruby on Rails 애플리케이션이 있습니다. 일부 데이터를 보낼 때 사용하는 사용자 정의 헤더가 있지만이 데이터가 Ruby on Rails 응용 프로그램에 도달하면 레일스는 UTF-8 값을 읽습니다. 은 유효한 UTF-8 문자열이이 아닙니다. 이 도달하면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)
을하지만 : 예를 들어
, 내가 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>
자바 HTTP 클라이언트 라이브러리는 명확 콘솔에 정확하게 데이터를 인쇄 레일이 깨졌습니다. HTTP가 헤더 값을 인코딩하는 데 사용하는 인코딩은 무엇입니까?
당신은 [여기 솔루션]을 활용할 수 있습니다 (http://stackoverflow.com/questions/1361604/how-to-encode-utf8-filename-for-http-headers-python-django) 당신이하려는 일을 해결하기 위해. –
[여기도 좋은 답변입니다.] (http://stackoverflow.com/questions/324470/http-headers-encoding-decoding-in-java) –