MySQL db вопросительные знаки вместо еврейских символов ..?

Я пытаюсь создать корзину покупок с помощью PHP и MySQL. my db в MySQL – utf8, а моя таблица в db – utf8,

Как я могу использовать символы на иврите?

Я смог решить это, выполнив следующие действия:

  1. сопоставление db должно быть utf8_general_ci
  2. сопоставление таблицы с utf8_general_ci должно быть utf8_general_ci
  3. в вашем скрипте put php connection put header('Content-Type: text/html; charset=utf-8');
  4. в xhtml head tag put <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  5. после выбора db в скрипте подключения поместите mysql_query("SET NAMES 'utf8'");

После большой работы я нашел решение, которое всегда работает ..: без SET_NAMES.

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

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

… и в html всегда используйте charset utf-8;

Это решило это для меня. Не нужно использовать set_names() , что нормально, но это меня раздражало.

Вы можете использовать PDO в своем коде следующим образом:

  $db = new PDO($config['DSN'], $config['dbUserName'], $config['dbPassword']); $db->exec("SET NAMES 'utf8'"); 

Убедитесь, что вы включили одиночные кавычки вокруг «utf8».

Если это проблема с кодировкой (и, похоже, это так), этот запрос поможет:

 SET NAMES utf8 

Выполните этот запрос (например, mysql_query("SET NAMES utf8") ) сразу после подключения и перед перемещением любых данных.

Больше информации

Где появляются вопросительные знаки? Это может быть проблема кодирования где-то иначе, чем в базе данных.

Чтобы хранить символы, отличные от ASCII, в столбце базы данных, вам необходимо определить этот столбец с определенным набором символов. Вы можете указать набор символов на 3 уровнях: базу данных, таблицу и столбец. Например:

 CREATE DATABASE db_name CHARACTER SET utf8 CREATE TABLE tbl_name (...) CHARACTER SET utf8 CREATE TABLE tbl_name (col_name CHAR(80) CHARACTER SET utf8, ...) 

http://www.herongyang.com/PHP/Non-ASCII-MySQL-Store-Non-ASCII-Character-in-Database.html

$ Conn-> set_charset ( "utf8"); Используйте это для своего dbconnect

mysql_query('SET NAMES utf8') ….. Поместите это в Php