2011-12-05 7 views
1

내 Android 애플리케이션에서 독일어 텍스트를 표시하려고합니다. ö ä ü ß 해당 문자는 TextView에 표시 할 수 없습니다. 글꼴을 설정하는 방법이나 문자를 표시하는 방법을 알고있는 사람이라면 누구에게 알려주십시오. 서비스로부터받는 데이터.독일어 문자가 TextView에 표시됩니다.

+0

가능해야한다고 생각 [문자 인코딩은 무엇이며 왜 신경 써야합니까?] (http://stackoverflow.com/questions/10611455/what-is-character-encoding-and-why-should-i-bother-with-it) – Raedwald

답변

4
+0

안녕하세요, xml을 파싱하고 XML 내부의 데이터가 독일어입니다. 내 XML은 UTF-8 임 파입니다. DOM 파서로 노래하십시오. 데이터는 정확하지만 xml에서 데이터를 읽는 동안 독일어 문자를 가비지 기호로 읽습니다. 어떤 단서가 있니? –

+1

몇 가지 코드를 표시하고 캐릭터의 모습을 보여주십시오. 이것이 인코딩 문제라고 생각합니다.'â €'와'Ã ©'같은 캐릭터가 있습니까? 일반적으로 UTF-8 데이터를 가지고 읽을 때, ISO-8859-1을 가정 해 봅시다. 예상 한 문자 대신에 두 개의 문자로 끝납니다. 헤더가 그렇게 말하기 때문에 XML이 utf-8이라고 생각하게 만드는 이유는 무엇입니까? –

+1

@AbhishekKarande : 나는 투표를하지 않았지만 나는 그것을지지하지 않았다. 즉, 귀하의 질문은 예상 성과 실제 결과뿐만 아니라 일부 코드를 사용할 수 있다고 생각합니다. –

0

내 문제는 ... 내가 제대로 독일어 문자를 표시 할 수 있습니다 그래서 지금 XML 리더에 내 코드에

DocumentBuilder db = dbf.newDocumentBuilder(); ByteArrayInputStream bis = new ByteArrayInputStream(xml.getBytes("UTF-8")); doc = db.parse(bis);

를 추가 해결

+1

문제가 해결되어 기쁘지만 이상적인 해결책이 아닐 수 있습니다. 당신이하고있는 일은 다음과 같습니다. 여러분은 XML을 문자열로 사용하고 (get yy), getBytes (...)를 호출하여 바이트를 만들 수 있습니다. 그런 다음 이것을 파서에게 건네줍니다. 이는 소량의 데이터에는 효과가 있지만 더 큰 데이터는 실패 할 수 있습니다. XML은 어디에서 왔습니까? 웹 서버에서 파일을 받거나 파일에서 읽을 때 스트림을 가져 와서 파서에 넘길 수 있습니다. –

관련 문제