안드로이드 개발 질문/답변
(글 수 45,052)
안녕하세요?
XmlPullParser 를 이용해서 xml 환율정보를 파싱하도록 예제를 따라 하고 있습니다.
각국 단축코드, 국가명, 통화명, 통화기호등을 가져오는데 통화기호중에서 "\" 를 표시하는데(unit="₩")
제대로 나오지 않고 네모로만 나옵니다. 대신 다른 통화기호들은 정상적으로 표시됩니다. 일례로 유로화...
디버깅시 "\" 으로 정상적으로 들어가는것까진 확인했습니다.
//cdefs.xml
//CurrencyManger.java
검색중에 시스템폰트나 사용자폰트를 바꾸는 내용이 있어 시도해봤으나 이번에 아예 표시되질 않네요.
다른 특수문자(유로)가 제대로 표시되는걸로 봐선 파싱자체문제로 보여지진 않는데 다른환경설정에서 문제가
있는지 아시는 분 있으면 답변 부탁드립니다.
XmlPullParser 를 이용해서 xml 환율정보를 파싱하도록 예제를 따라 하고 있습니다.
각국 단축코드, 국가명, 통화명, 통화기호등을 가져오는데 통화기호중에서 "\" 를 표시하는데(unit="₩")
제대로 나오지 않고 네모로만 나옵니다. 대신 다른 통화기호들은 정상적으로 표시됩니다. 일례로 유로화...
디버깅시 "\" 으로 정상적으로 들어가는것까진 확인했습니다.
//cdefs.xml
<?xml version="1.0" encoding="UTF-8"?> <Currencies> <Currency ifier="AUD" country="Australia" long="Dollar" unit="$" flag="@drawable/f_aud" /> <Currency ifier="EUR" country="European Union" long="Euro" unit="€" flag="@drawable/f_eur" /> ...... <Currency ifier="KRW" country="South Korea" long="Won" unit="₩" flag="@drawable/f_krw" />
//CurrencyManger.java
public void loadCurrencies() throws XmlPullParserException, IOException { XmlResourceParser parser = _activity.getResources().getXml(R.xml.cdefs); int eventType = parser.getEventType(); while (eventType != XmlPullParser.END_DOCUMENT) { if (eventType == XmlPullParser.START_DOCUMENT) { _currencies.clear(); } else if (eventType == XmlPullParser.START_TAG) { if ("Currency".equals(parser.getName())) { String id = parser.getAttributeValue(null, "ifier"); if (_currency2rate.get(id) != null) { Currency c = new Currency(parser.getAttributeValue( null, "country"), parser.getAttributeValue( null, "long"), parser.getAttributeValue(null, "unit"), id, parser.getAttributeResourceValue( null, "flag", R.drawable.f_default)); _currencies.add(c); } } } eventType = parser.next(); } parser.close(); }
검색중에 시스템폰트나 사용자폰트를 바꾸는 내용이 있어 시도해봤으나 이번에 아예 표시되질 않네요.
다른 특수문자(유로)가 제대로 표시되는걸로 봐선 파싱자체문제로 보여지진 않는데 다른환경설정에서 문제가
있는지 아시는 분 있으면 답변 부탁드립니다.
처음엔 파파님이 올리신 http://www.androidside.com/B46/8706 을 읽고 따라 했는데 이때 추가한 custom 폰트도 '\'가
포함되어 있지 않아 제대로 표시가 안됐습니다.
워드에서 해당 특수문자가 포함된 폰트를 확인하고 소스에 추가하니 잘 보이네요.