Как отобразить данные Unicode с PHP - PullRequest
21 голосов
/ 15 марта 2010
table 'abc' data :

tid    title

  1      வெள்ளிக்கிழமை ஐ.

  2      கோலாகல தொடக்க 


$sql=mysql_query("select title from abd where tid='1'");

$row=mysql_fetch_array($sql);

$title = $row['title'];

echo $title;

OutPut отображается так:

????????????????

Но я хочу отобразить

வெள்ளிக்கிழமை ஐ.

Решение

<?php
    mysql_query ("set character_set_results='utf8'");   

    $sql=mysql_query("select title from abd where tid='1'");

    $row=mysql_fetch_array($sql);

    $title = $row['title'];

    echo $title;

?>

Ответы [ 6 ]

37 голосов
/ 15 марта 2010

Попробуйте установить кодировку символа после функции mysql_connect следующим образом:

 mysql_query ("set character_set_client='utf8'"); 
 mysql_query ("set character_set_results='utf8'"); 

 mysql_query ("set collation_connection='utf8_general_ci'"); 
9 голосов
/ 10 ноября 2015

Для новой версии PHP , которая использовала mysqli, используйте этот код после подключения к mysql:

mysqli_set_charset($link, 'utf8');
6 голосов
/ 15 марта 2010

Постарайтесь убедиться, что браузер распознает страницу как Unicode.

Как правило, это можно сделать, отправив серверу правильный заголовок HTTP Content-type, который включает кодировку, которую вы используете.


Например, что-то вроде этого должно работать:

header('Content-type: text/html; charset=UTF-8');
echo "வெள்ளிக்கிழமை ஐ";


Если это работает, а ваша динамически генерируемая страница все еще не работает:

  • убедитесь, что ваши данные в базе данных MySQL также находятся в UTF-8
    • это может быть установлено для каждой таблицы или даже столбцов в MySQL
  • и убедитесь, что вы подключаетесь к нему с помощью UTF-8.

По сути, все ваше приложение должно использовать одну и ту же кодировку:

  • PHP-файлы,
  • База данных
  • HTTP-сервер
3 голосов
/ 15 марта 2010

выполнить запрос

SET NAMES 'utf8'

сразу после подключения к базе данных

1 голос
/ 15 марта 2010

Сначала вам нужно преобразовать формат данных MySQL в utf-8 , см. Эту замечательную статью от oreilly:

.

Превращение данных MySQL в UTF-8

.

После этого убедитесь, что тип кодировки вашей страницы - utf-8 :

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
0 голосов
/ 10 октября 2013
<?php header('Content-type: text/html; charset=UTF-8');echo "<font face='Bamini' size='5'>" . "m.Nkhfd; Fkhh;" ."<br />";
echo "<font face='Bamini' size='10'>" . "m.Nkhfd; Fkhh;" ."<br />";
?>

or

<?php
header('Content-type: text/html; charset=UTF-8');
echo "வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ à®";
?>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...