2014-05-23 3 views
0

나는이 코드를 사용하여 Android App에 보낼 json 배열을 생성하지만, 의 값이 인 경우 NULL 값을 얻습니다. 그런 다음 normalizeChars($obResult[$i];)액센트가있는 단어로 NULL 값을 제공하는 JSON 배열

이 변경됩니다와 함께이 특별한 변수 $obResult[$i];을 변경할 수 있습니다

public static function normalizeChars($s) { 
    $replace = array(
     'À'=>'A', 'Á'=>'A', 'Â'=>'A', 'Ã'=>'A', 'Ä'=>'Ae', 'Å'=>'A', 'Æ'=>'A', 'Ă'=>'A', 
     'à'=>'a', 'á'=>'a', 'â'=>'a', 'ã'=>'a', 'ä'=>'ae', 'å'=>'a', 'ă'=>'a', 'æ'=>'ae', 
     'þ'=>'b', 'Þ'=>'B', 
     'Ç'=>'C', 'ç'=>'c', 
     'È'=>'E', 'É'=>'E', 'Ê'=>'E', 'Ë'=>'E', 
     'è'=>'e', 'é'=>'e', 'ê'=>'e', 'ë'=>'e', 
     'Ğ'=>'G', 'ğ'=>'g', 
     'Ì'=>'I', 'Í'=>'I', 'Î'=>'I', 'Ï'=>'I', 'İ'=>'I', 'ı'=>'i', 'ì'=>'i', 'í'=>'i', 'î'=>'i', 'ï'=>'i', 
     'Ñ'=>'N', 
     'Ò'=>'O', 'Ó'=>'O', 'Ô'=>'O', 'Õ'=>'O', 'Ö'=>'Oe', 'Ø'=>'O', 'ö'=>'oe', 'ø'=>'o', 
     'ð'=>'o', 'ñ'=>'n', 'ò'=>'o', 'ó'=>'o', 'ô'=>'o', 'õ'=>'o', 
     'Š'=>'S', 'š'=>'s', 'Ş'=>'S', 'ș'=>'s', 'Ș'=>'S', 'ş'=>'s', 'ß'=>'ss', 
     'ț'=>'t', 'Ț'=>'T', 
     'Ù'=>'U', 'Ú'=>'U', 'Û'=>'U', 'Ü'=>'Ue', 
     'ù'=>'u', 'ú'=>'u', 'û'=>'u', 'ü'=>'ue', 
     'Ý'=>'Y', 
     'ý'=>'y', 'ý'=>'y', 'ÿ'=>'y', 
     'Ž'=>'Z', 'ž'=>'z' 
    ); 
    return strtr($s, $replace); 
} 

:

<?php 
    header("Content-Type: text/html; charset=ISO-8859-1",true); 
include "db_connect.php"; 


    $userid = $_REQUEST['userid']; 
    $strSQL = "SELECT * FROM `mensages` WHERE `iduser` = '$userid' AND `read` = '0' ORDER BY `id` DESC"; 
    $objQuery = mysql_query($strSQL); 
    $intNumField = mysql_num_fields($objQuery); 
    $resultArray = array(); 
    while($obResult = mysql_fetch_array($objQuery)) 
    { 
     $arrCol = array(); 
     for($i=0;$i<$intNumField;$i++) 
     { 
      $arrCol[mysql_field_name($objQuery,$i)] = $obResult[$i]; 
     } 
     array_push($resultArray,$arrCol); 
    } 

    mysql_close($objConnect); 

    echo json_encode($resultArray); 
?> 

답변

0

당신은 당신의 코드에이 PHP 기능을 추가 할 수 있습니다

내 코드입니다 명언에 액센트가있는 편지, 전화로 처리 할 수 ​​있습니다.

+0

public static function or simple function? – user3106953

+0

나는 이렇게 넣어 : $ arrCol [mysql_field_name ($ objQuery, $ i)] = normalizeChars ($ obResult [$ i]); 하지만 여전히 NULL 값을 제공합니다. – user3106953

관련 문제