2015-03-12 2 views
0

Когда я вставляю иврит, он превращается в × × × × × × × × × × × × × × × × × ¨. Я попытался добавить mysql_query («SET CHARACTER SET utf8»); к моему коду и его не работает.Проблемы с вставкой иврита в mysql с использованием php

Вот часть моего кода:

header('Content-Type: text/html; charset=utf-8'); 
mysql_query("SET character_set_client = utf8"); 
mysql_query("SET character_set_connection = utf8"); 
mysql_query("SET character_set_results = utf8"); 
$insertUser = $odb -> prepare("INSERT INTO `users` VALUES(NULL, :username, :password, :email, 1, 0, 0, 0, '', 0, :Name, :school, :class, 3, 0)"); 
$insertUser -> execute(array(':username' => $username, ':password' => SHA1($password), ':email' => $email, ':Name' => $Name, ':school' => $school, ':class' => $class)); 
+1

Много лет назад, PHP решил принизить в mysql_ API. Так что приятно, что он возвращается. – Strawberry

ответ

1

Похоже, что х-образный характер является побег на самолете иврит. Первый взгляд на: http://php.net/manual/de/function.utf8-decode.php.

Проверьте collation_connection:

show variables like '%collation%' 

Если utf8-декодирования не работает, одна из функций в комментариях может сделать. Обязательно используйте многобайтовый набор символов для PHP.

Также вы можете проверить; В файле conn.inc.php, после того, как вы выбрали базу данных и подключенных к нему, сделать это:

if(!mysqli_set_charset($conn, 'utf8')) { 
    echo 'the connection is not in utf8'; 
    exit(); 
} 

и в HTML всегда использовать кодирокой utf-8;

Если эти вещи не работают для вас; пожалуйста, google с иврит в mysql stackoverflow; вы получите много статей; которые могут решить вашу проблему.

Также смотрите: UTF-8 all the way through

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