2011-08-16 2 views
1
<?php 
require_once('config.php'); 
require_once 'convertArraytoJson.php'; 

$connection=mysql_connect ("localhost", $databaseuser, $databasepassword); 
//mysql_set_charset('utf8'); //Is this better than the last line? 
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'"); //Which one is better? 
@mysql_select_db ($databasename) or die ("Unable to select database"); 
$query="SELECT `Building` FROM `tablebuilding` WHERE ID=51"; 
$data = mysql_query($query); 
while (true){ 
    $info = mysql_fetch_array ($data, MYSQL_ASSOC); 
    if ($info == false) { 
     break; 
    } 
    $output = $info['Building']; 
} 
//$output is FX Lifestyle X’nter 
$v= htmlspecialchars ($output); //Should I use this? 


$result = json_encode($output); 
//$result is FX Lifestyle X\u2019nter 
echo ($result); 

?> 

그냥 확인하고 싶습니까? mysql_set_charset('utf8')이것은 MySQL과 UTF8로 UTF8 인코딩으로 데이터를 가져 오는 올바른 방법입니다

mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'");과 1 사이의 차이는 무엇

이 더 낫다.

+0

JSON을 어떻게 받고 있습니까? 수신단은 자동으로 시퀀스를 실제 문자로 변환해야합니다. –

+2

'mysql_set_charset()'을 사용하십시오. mysql_real_escape_string()이 mysql 연결 인코딩을 알고있는 유일한 방법이기 때문입니다. – Karolis

+0

mysql_query ('SET NAMES utf8;'); – Chris

답변

1

JSON은 데이터 교환을위한 공개 표준입니다. JSON 인코딩 문자열을 보내면 클라이언트는 JSON을 지원하는 경우 문자열을 올바른 문자셋으로 변환합니다. 클라이언트 자바 스크립트 인터프리터를 사용해 클라이언트가 JSON을 지원하는지 확인하십시오.

echo "<script>document.write('$result');</script>"; 
+0

좋은 답변입니다. 나는 내가 PhP 측에서 일하고 있음을 분명히해야만한다고 생각한다. json을 해독하는 방법을 알아 낸 것 같습니다. 나는 그 부분을 삭제할 것이다. 그러나 실제로는 '맞습니까? –

+0

예 \ u2019는 '[link] (http://www.fileformat.info/info/unicode/char/2019/index.htm) – jbrond

+0

에 대한 유니 코드 문자입니다.이 경우 PhP가 있는지 여부에 대한 정보를 찾고 있습니다. 옳은. 그것은 php에서 utf8 데이터를 가져 오는 표준 방법입니까? –

관련 문제