UTF-8
인코딩 된 문자열로 몸을 저장할려고
그러나 나는 빨리 발견 한 모든 전자가 -mails는 Content-Type
헤더에 문자 세트 정보를 보냅니다. String.force_encoding
및 String.encode
와 일부 수동 빠른 수정을 시도 후에 나는 SO의 친절한 사람들을 요청하기로 결정했다. 마임 신체 추측 캐릭터 세트 (와 UTF-8로 변환)은
ASCII-8BIT
나타납니다, 나는 비밀리에 자동적으로 문자열에 사용되는 인코딩을 반환하는
String.encoding
기대했다 정직합니다. 난 내가 일부
;charset=blabla
정보를 먹은 경우 일 것 같았다 옵션으로
quoted-printable
을 구현했을 때이 문제가 시작했다. 나는 몇 가지 "솔루션"을 실험했습니다
input = input.gsub(/\r\n/, "\n").unpack("M*").first
if(charset)
return input.force_encoding(charset).encode("utf-8")
end
# This is obviously wrong as the string is not always ISO-8859-1 encoded:
return input.force_encoding("ISO-8859-1").encode("utf-8")
내가 그러나 대부분의 읽기/쓰기 파일과 관련이 듯, 인터넷에서 발견하고, 인코딩을 검출하는 몇 가지 보석 실험 (그러나 아무도 정말로 것 같았다 속임수 또는 믿을 수 없게 구식이었다). 대답은 바로 내 얼굴을 쳐다보고 것처럼이 가능해야하고, 느낌, 여기에 희망 누군가가 내 상황에 대한 몇 가지 빛을 내가 완전히 잘못 뭘했는지 말해 줄 수있을 것입니다.
- 텍스트를 이메일로 당신은 원래 인코딩을 감지하는 https://github.com/janx/chardet를 사용할 수 있습니다 루비에게 1.9.3
흠이 실제 'chardet' 보석의 포트 보인다. 로드를 시도하자마자 원래의 프로그램이 중단되지만 집에 돌아와서 결과를 게시 할 때이 코드를 시도해 보겠습니다. – CharlesLeaf
이 버전의 젬은 조금 낡은 것처럼 보입니다. 필자의 테스트 문자열을 삽입하는 방법에 따라 ASCII로 1.0 신뢰도를 표시하거나'CodingStateMachine에서 유래 된 것으로 보이는 정수를 문자열로 변환 할 수 없습니다 '라고 표시됩니다. rb'이'byteCls = @_mModel [ 'classTable'] [c]'이 문제를 해결할 수 있는지 더 자세히 조사 할 필요가 있습니다. – CharlesLeaf
어떻게이 일에 대해 : https://github.com/brianmario/charlock_holmes – Hooopo