2010-02-01 4 views
3

한국 원, 캄보디아 리엘 및이란 리알에 대해 10 진수를 통화로 변환하고 UILabel 텍스트에 결과를 표시 할 때 문제가 발생합니다.잘못된 기호가있는 UILabel + IRR, KRW 및 KHR 통화

변환 자체가 잘 통과하고 디버거에서 올바른 통화 기호를 볼 수 있습니다. 심지어 NSLog가 기호를 잘 인쇄합니다.

이 NSString 인스턴스를 UILabel 텍스트에 할당하면 통화 기호가 올바른 기호 대신 교차 상자로 표시됩니다. 사이에 다른 코드가 없습니다, 내가 사용하는 글꼴이 중요하지 않습니다.

유니 코드 값 (0x20A9)을 사용하거나 UTF8 표현 (\ xe2 \ x82 \ xa9)을 사용하여 ₩ (한글)을 인쇄하려했으나 레이블에있는 상자가 모두 나타납니다.

iPhone SDK 및 NSLocale (거의 170 개 통화)에서 지원되는 다른 통화는 통화가 얼마나 외모이더라도 완벽하게 작동합니다.

다른 사람이 같은 문제가 발생합니까? 이것을위한 "완치"가 있습니까?

감사

편집 :

-(NSString *)decimalToCurrency:(NSDecimalNumber *)value byLocale:(NSLocale *)locale 
{ 
    NSNumberFormatter *fmt = [[NSNumberFormatter alloc] init]; 
    [fmt setLocale: locale]; 
    [fmt setNumberStyle: NSNumberFormatterCurrencyStyle]; 
    NSString *res = [fmt stringFromNumber: value]; 
    [fmt release]; 
    return res; 
} 

lbValue.text = [self decimalToCurrency: price byLocale: koreanLocale]; 
+0

어떤 글꼴을 사용하고 있습니까? – kennytm

+0

전혀 문제가되지 않습니다. Helvetica, Helvetica Neue, Times New Roman, Trebuched MS를 시도했습니다 ... – serb

+0

"Arial Unicode MS"를 시도해보십시오. – kennytm

답변

0

친애하는 세르비아는, 당신은 어떤 문제가 없습니다! 당신은 단지 제한된 (비) 유니 코드 글꼴을 사용합니다.

UI에서 사용자에게 일부 문자를 표시해야하며 IRR 및 KHR 등은 유니 코드의 다른 블록에 있으며 글꼴은 사용자에게 표시하여 사용자에게 표시해야합니다. Arial Unicode MS을 사용하여 글꼴 문제가 있는지 확인하는 것이 좋습니다.

글꼴로 문제가 해결 된 경우. 모든 문자 블록을 지원하는 유니 코드 글꼴을 사용하거나 자신의 글꼴을 만들어야합니다.

+0

Nasser, 답장을 보내 주셔서 감사합니다. 불행히도, 이것은 해결책이 아닙니다. Arial Unicode MS는 한국 원만을 해결합니다. IRR 및 KHR 기호가 계속 손상되었습니다. – serb

+0

Serb, 유니 코드 simbols를 만들면 글꼴 문제가 생깁니다. 문자 (십진수) 또는 유니 코드 코드가 무엇인지 말해 줄 수 있습니까? 어떤 Arial Unicode MS가 모든 문자를 지원하는지 분명하고 UI에 정확한 simbol을 전달하면 정확한 simbols를 볼 수 있습니다. 따라서 UI에 유효하지 않은 코드를 보내고 youthink가 옳은지보고 싶습니다. ---------- 표준 유니 코드 키보드를 사용합니까? 뭐라 구요? 그리고 누가 그것을 표준으로합니까? 키보드에 의한 잘못된 키 코드 생성 일 수 있습니다. meknow에게 키보드 레이아웃이 무엇인지 알려주십시오. –