2012-10-10 3 views
0

현재 웹 기반 관리 시스템이 콘텐츠에 첨부 된 Android 애플리케이션을 개발 중입니다. JSON을 통해 웹에서 정보를 검색하는 Android 애플리케이션에 콘텐츠를 표시하고 싶습니다. 응용 프로그램은 중국어와 영어를 지원해야합니다. 나중에 독일어, 프랑스어, 네덜란드어 및 스페인어를 사용할 수있게하려고합니다.중국 PHP/MySQL/JSON/Android

내 문제는 중국어로 제공됩니다. 나는 영어로 완벽하게 작동하는 PHP와 MySQL 관리 시스템을 가지고있다. 한자를 시스템에 추가하면 PHPMyAdmin은 입력 한 것과 같은 방식으로 문자를 표시하지 않습니다. 인코딩이 잘못되었습니다. 거기에서 Android의 JSON을 통해 모든 것을 검색하더라도 올바른 문자가 표시되지 않습니다.

나를 올바른 방향으로 안내 할 수있는 사람이 여기 있습니까? 모든 것은 중국어를 제외하고 작동합니다. 나는 중국어 인코딩에 대한 경험이 없으며 인터넷을 검색했다. MySQL에서 시도한 몇 가지 항목을 발견했습니다. GB는 데이터베이스에서 중국어 항목을 인코딩하지만 작동하지 않는 것 같습니다.

+2

표준 규칙 : 전체 파이프 라인에서 동일한 문자 집합을 유지해야합니다. 그렇지 않으면 맹 글링 된 텍스트가 표시됩니다. 즉 모든 HTML 페이지, 모든 http 링크, 모든 서버 측 코드, 모든 코드 -> 데이터베이스 링크, 모든 데이터베이스 테이블 등을 의미합니다. 모든 것이 일관성이 있어야하며, 적어도 링크되어 있어야합니다 적절한 자동차 세트 전환 코드. 하나의 다른 charset이 사슬 어디에도없고 당신은 쓰레기로 끝납니다. –

+0

항상 모든 것을 UTF-8로 사용하십시오. 비 ASCII 문자를 사용하는 유럽 언어를 지원하려면 중국 데이터를 저장할 GB 인코딩을 선택하는 것이 나중에 자신을 미워하게 만듭니다. – geoffspear

+0

@ Marc B 고맙습니다. – Vince

답변

0

PHP 페이지를 UTF로 변경하고 데이터베이스 레코드를 uft8_unicode_ci으로 지정했습니다. PHPMyAdmin을 살펴보면 이전과 같이 이상한 문자가 기록되어 모든 것이 PHP 백엔드에서 완벽 해 보입니다. JSON 파일을 보면 이상한 문자도 있지만 PHPMyAdmin과 다른 문자가 표시됩니다. JSON (PHP)은 UTF-8로 저장됩니다.

function loadInfo($id){ 
    if(is_numeric($id)){ 
    $locatieArray = array(); 
    $q = 'SELECT * FROM locaties WHERE id='.$id.''; 
    $r = mysql_query($q); 
    if($l = mysql_fetch_array($r)){ 
     $loc = array(
     'id' => utf8_encode($l['id']), 
     'nameEN' => utf8_encode($l['nameEN']), 
     'nameCH' => utf8_encode($l['nameCH']), 
     'descEN' => utf8_encode($l['descEN']), 
     'descCH' => utf8_encode($l['descCH']), 
     'addEN' => utf8_encode($l['addEN']), 
     'addCH' => utf8_encode($l['addCH']), 
     'img' => utf8_encode($l['img']), 
     'rate' => utf8_encode($l['rate']), 
     'tel' => utf8_encode($l['tel']), 
     'url' => utf8_encode($l['url']) 
    ); 
    } 
    $locatieArray[] = $loc; 
    } 
    // format array for json. 
    $returnArray['locatie'] = $locatieArray; 
    $json = json_encode($returnArray); 
    return $json; 
} 

JSON을 생성하는 방식에 문제가 있습니까? 아니면 먼저 PHPMyAdmin에서 중국어 문자를 사용하는 데 초점을 맞추어야합니까?

+0

이 문제가 해결 되었습니까? 나는 똑같은 문제가있다. – nurp