Текстовая область не показывает текст на иврите из mysql - PullRequest
0 голосов
/ 09 марта 2012

Я пытаюсь вернуть какой-то конкретный текст из mysql в текстовую область. Теперь этот текст, возвращаемый из mysql, имеет

    collation=utf8_unicode_ci 

и кодировка устанавливается добавлением этой строки в мой php-файл.

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

Не могу разобраться в проблеме здесь. Все выглядит хорошо, но почему текстовая область не показывает текст на иврите? Вместо этого он показывает "???????" - Вопросительные знаки.

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 апреля 2012

Попробуйте эту настройку.

    //  encode web page 'utf-8' which holds the input form
<!DOCTYPE html> 
<html lang="en"><head><meta charset="utf-8">

//  Form submit from webpage 
$text = stripslashes($_POST['text']);

//  connect to database         
$db = mysql_select_db("$my_databasename",$conn)
    or die("ERR; Database");

//  setup UTF-8 on pipe 
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);

mysql_query("SET NAMES 'UTF8'");

$text = mysql_real_escape_string($text);

// insert to mysql here

Не забудьте закодировать веб-страницу, которая отображает / возвращает выходные данные из mysql.Рекомендуется объявлять кодировку utf-8 на всех веб-страницах по умолчанию, если только у вас нет другой причины этого не делать.

0 голосов
/ 09 марта 2012

Во время ввода или извлечения данных MySQL должен быть настроен на прием данных в кодировке Unicode (UTF-8). Есть несколько способов, вы можете сделать это

  1. Поместите эту строку в часть соединения с базой данных

    mysql_set_charset('utf8',$link); //$link is your connection identifier
    
  2. Выполнить charset utf8 на CLI

  3. Используйте SET NAMES 'utf8' в качестве первого запроса к базе данных

Кроме того, при выводе таких данных на экран необходимо настроить html, чтобы он также понимал символы Юникода. Используйте

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

Вверху отображаемой страницы.

...