레일즈 애플리케이션에서 사용하기 위해 Postgres로 가져온 데이터가 있습니다. 그러나 어떻게 든 외국 악센트가 이상하게 인코딩되었다 :이상한 문자 인코딩 문제
ä
는â§
á
는é
이â©
ó
가 난
ââ¥
로 나타납니다로 나타납니다 â°
로 나타납니다으로 나타납니다 꽤 문제가 int와 함께 꽤있다. Rails의 문제보다는 데이터의 조잡함. 내가하려고 어떤 인코딩과 일치하지 않는 것 :
# Replace "cp1252" with any other encoding, to no effect
"Trollâ§ttan".encode("cp1252").force_encoding("UTF-8") #-> junk
사람, 즉 좋은 것 내가 앓고있어 인코딩 호환 문제의 종류를 식별 할 수 있었다면.
최후의 수단으로 각 악센트 부호가있는 악센트 문자를 수동으로 바꾸어야 할 수도 있지만 누구든지 프로그래밍 방식의 해결책을 제안 할 수 있다면 (또는이를 고치는 시작점조차도 - 디버깅하기가 매우 어려웠 음) 나는 감사 할 줄 알았다.
데이터베이스에서 사용하는 인코딩을 확인할 수 있습니까? 또한 정확히 어떻게 데이터를 가져 왔습니까? – PinnyM
인코딩은 'UTF8'(데이터 정렬'en_US.UTF-8')입니다. 데이터는 상당히 복잡한 가져 오기 프로세스 (원래 CSV, Google Refine을 거쳐 더 많은 변환이 이루어짐)를 거쳤습니다. 데이터를 다시 가져 오는 것이 그리 쉽지는 않을 것이므로 내부 수정이 이상적입니다. –
원본 CSV 파일 - 인코딩은 무엇입니까?'복잡한 가져 오기 프로세스'는 많은 변수를 추가하며, 이로 인해 여러 인코딩이 잘못 해석 될 수 있습니다 ... 또한 프로세스의 각 간격에서 인코딩을 확인할 수 있으면 소스를 고정하는 데 도움이 될 수 있습니다 부패 문제가 상당히 – PinnyM