2013-09-18 4 views
0

ОК, так что это мой DB, у меня есть некоторые заголовки в HTML-сущностях и другие с нормальными персонажами:расшифровывать специальные символы из SQL

TITLE 

MAMÁ 
MAMÁ 

Так что моя проблема в том, когда я называю название:

/* If connection to database, run sql statement. */ 
if ($conn) 
{ 
    $fetch = mysql_query("SELECT * FROM test where title_test like '%" . mysql_real_escape_string($_GET['term']) . "%' and test_stock<>0"); 

    /* Retrieve and store in array the results of the query.*/ 
    while ($row = mysql_fetch_array($fetch, MYSQL_ASSOC)) { 

     $row_array['id'] = $row['id_test']; 
     $row_array['value'] = $row['title_test']; 


     array_push($return_arr,$row_array); 
    } 
} 

/* Free connection resources. */ 
mysql_close($conn); 

/* Toss back results as json encoded array. */ 
echo json_encode($return_arr); 

Это были результаты:

OUTPUT 

MAM&Aacute; 
NULL 

Так я добавил mysql_set_charset('utf8',$conn);:

и это где мои результаты:

OUTPUT 

MAM&Aacute; 
MAMÁ 

Как я могу расшифровать названия с HTML сущностей и сделать их напечатать это:

OUTPUT 

MAMÁ 
MAMÁ 

ответ

0

Функция htmlspecialchars_decode является то, что вы ищете.

echo htmlspecialchars_decode('&Aacute;') 

бы произвести:

Á 
+0

я попытался htmlspecialchars_decode ($ строки [ 'title_test']); но мне все равно не повезло: MAM & Aacute; ... я думаю, что это имеет какое-то отношение к json_encode() в конце. – Ered

+0

Что вы видите, когда вы печатаете '$ return_arr'? – Mark

+0

этот результат: MAM & Aacute; – Ered

Смежные вопросы