Подтвердить что ты не робот

Как отображать данные Unicode с помощью PHP

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;

?>
4b9b3361

Ответ 1

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

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

 mysql_query ("set collation_connection='utf8_general_ci'"); 

Ответ 2

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

mysqli_set_charset($link, 'utf8');

Ответ 3

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

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


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

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


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

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

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

  • Файлы PHP,
  • База данных
  • HTTP-сервер

Ответ 4

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

SET NAMES 'utf8'

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

Ответ 5

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

.

Переключение данных MySQL в UTF-8

.

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

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

Ответ 6

<?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 "வெளà¯à®³à®¿à®•à¯à®•à®¿à®´à®®à¯ˆ à®";
?>

Ответ 7

При вставке данных в базу данных MySQL с использованием соответствующего сопоставления (например, utf8_general_ci для символов Юникода, т.е. хинди). Также используется предопределенная функция PHP utf8_decode для отображения символов в HTML.