ALXTNTCN
@ALXTNTCN

В PHP 5.6 и MySQL Emoji отображаются как ????

Я использую PHP 5.6 и MySQL, я могу использовать и отображать некоторые символы Юникода на своем веб-сайте, например: ❤ ✓ ☀ ★ ☂ ♞ ☯ ☭ ☢ € ☎ ❄ ♫ ⚡ ▻✌ ➤✅, но когда я пытаюсь использовать эти эмоции Юникода:
630f2a6ec47cf739702477.png то результат "????".
В базе данных изменил кодировку таблиц с utf8 на ut8mb4, но результат все тот же.

в connect.php тоже указана кодировка utf8mb4
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', 'root');  // Your database Username
define('DB_PASSWORD', 'пароль'); // Your database Password
define('DB_DATABASE', 'имя базы данных'); // Your database Name    
$connection = mysql_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD) or die(mysql_error());
$database = mysql_select_db(DB_DATABASE) or die(mysql_error());

mysql_query("SET character_set_connection = 'utf8mb4'");
mysql_query("SET character_set_client = 'utf8mb4'");
mysql_query("SET character_set_results = 'utf8mb4'");  
mysql_query('SET NAMES utf8mb4');

?>


Решением оказалось смена типа таблицы с TinyText на LongBlob
  • Вопрос задан
  • 145 просмотров
Решения вопроса 1
ipatiev
@ipatiev Куратор тега PHP
Потомок старинного рода Ипатьевых-Колотитьевых
mysql_query - это какой-то бред и анахронизм. Этой функции давно нет в языке.
Кодировка соединения задаётся либо через mysqli_set_charset либо через DSN, в зависимости от выбранного API

В целом,при использовании utf8mb4 всё должно работать
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы