2013-12-20 1 views
0

Я использую поддержку UTF8 для отображения символов хинди в моем приложении. Но когда я делаю так, я получаю этот результат в PHPПоддержка UTF 8 в Android, а также PHP

\u0939\u094d\u0926\u094b\u0926\ 

в то время как я получаю правильные хинди письма в Android. Моя проблема в том, что я хочу показывать хинди символов как в Android-приложении, так и на веб-странице PHP.

Я использовал эту строку в PHP файл, который дает хинди характер в Android

$row = mysql_query("SET NAMES utf8"); 

Просьба предложить некоторые изменения в ниже заданного PHP кода

<?php 
header('Content-type: text/php; charset=utf-8'); 
mysql_connect("host","root","pwd"); 
mysql_select_db("db_name"); 

$row = mysql_query("SET NAMES utf8"); 

$sql=mysql_query("select * from t1 ORDER BY timestamp DESC Limit 50"); 
while($row=mysql_fetch_assoc($sql)) { 
$output[]=$row; 
} 

$countries = array('countries' => $output); 

echo json_encode($countries); 
    mysql_close(); 
?> 
+1

Просто примечание: Ваш тип контента должен быть 'приложение/json' не' текст/php' –

+1

@MichaelHelwig Нет, это должно быть 'приложение/json' –

+0

Да, исправил мой комментарий :) –

ответ

0

Я не уверен, что есть вы ожидаете и почему используете json_encode, если вы хотите отображать эти символы на «веб-странице» напрямую. То, что вы видите на своей странице, - это, скорее всего, совершенно достоверный результат json_encoded, поэтому, если вы хотите иметь json_encoded представление вашего результата, все кажется прекрасным.

Если вы хотите показать символы в html, вы можете просто распечатать их, а не использовать json_encode.

Если вы хотите использовать json_encoded символы юникода в PHP (я думаю, что это не то, что вы пытаетесь достичь, но все равно ...), вы должны использовать json_decode, например, Вы можете распечатать в юникода характер, как это:

echo json_decode('"\u00fc"'); 
Смежные вопросы