2009-10-23 11 views
8

액센트 및 유니 코드 문자를 포함 할 수 있도록 UTF-8 QRCode를 생성하려고합니다.유니 코드 QRCode의 인코딩 및 디코딩 문제

을 테스트하려면, 나는 많은 디코딩 솔루션 사용하고 있습니다 : - 또한

  • http://www.drhu.org/QRCode/QRDecoder.php 안드로이드
  • 에 사용 된 zxing 프로젝트 - PHP는 디코더
  • http://zbar.sf.net - ZBar 바코드 리더 -

    1. http://zxing.org/w/decode.jspx을하는 OpenSource를 임베디드 용 C 프로젝트

    이들 모두는 항상 동일한 결과를 제공합니다.

    this image works well with 유니 코드 문자를 사용해보십시오.

    그러나 QRCode를 생성하기 위해 zxing 또는 Google Chart API를 사용하려는 경우 올바르게 디코딩 할 수 없습니다.

    나는 이것을 시도 : 성공하지

    1. http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=SHIFT_JIS&chl=R%C3%A9my+Hubscher
    2. http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=ISO-8859-1&chl=R%C3%A9my+Hubscher
    3. http://chart.apis.google.com/chart?cht=qr&chs=200x200&choe=UTF-8&chl=R%C3%A9my+Hubscher

    그러나 모든합니다.

    내가 어떻게 할 수 있는지 알고 있니? 작업 이미지에 어떤 인코딩이 사용되는지 알고 있습니까?

  • 답변

    10

    해결 방법은 UTF-8로 텍스트를 인코딩하고 문자열이 실제로 UTF-8로 지정되도록 BOM을 추가하는 것입니다. 여기

    그것은 작동 :

    +1

    정확히 당신이 그것을 해결하기 위해 짓을 설명해 주시겠습니까? –

    +0

    BOM을 추가해야합니다 : http://en.wikipedia.org/wiki/Byte_order_mark. 문자열 앞에''\ xEF \ xBB \ xBF''를 출력하십시오. – Natim

    +0

    이렇게 하시겠습니까? NSString * qrString = [NSString stringWithFormat : @ "\ xEF \ xBB \ xBF % @", symbol.data]; symbol.data는 ZBar SDK가 검색 한 문자열입니다. 그건 그렇고 나를 위해 작동하지 않습니다. –