Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

000webhost.com не понимает русский из бд, не понимает кодировку utf8, пробывал разные способы ���

Денис Гаврищук Ученик (3), закрыт 5 лет назад
вот конфиг:
header('Content-Type: text/html; charset=utf-8');
M_MYSQLI::Instance($dbhost, $dbuname, $dbpass, $dbname);
$site['coding'] = "utf8";
$site['loc'] = "utf8_general_ci";
mysql_query("SET NAMES utf8");
$full_base = @mysql_pconnect($dbhost, $dbuname, $dbpass) or die("



Не удал ось подкл ючится к базе данных, пожал уйста установите корректные данные и обновите страничку.");
@mysql_select_db($dbname, $full_base) or die("



Некорректно указано имя рабочей базы, пожал уйста установите корректные данные и обновите страничку.");

@mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8',
character_set_server = 'utf8'", $full_base);
@mysql_query("SET NAMES '".$site['coding']."'");
@mysql_query("SET CHARACTER SET '".$site['coding']."'");
@mysql_query("SET @@collation_connection = ".$site['loc']."");

@mysql_query("SET NAMES 'utf8' COLLATE 'utf8_general_ci'");
@mysql_query("SET CHARACTER SET 'utf8'");
mysql_query("SET NAMES utf8");
А при сохранение показывает на фронте русский, а в бд вопросиками
Лучший ответ
Андрей Высший разум (425764) 5 лет назад
А в самой базе данных таблицы и текстовые поля в какой кодировке? Или ты при создании таблиц вообще не указывал кодировку - положившись на то, что в используемой на хостинге MySQL МОЖЕТ БЫТЬ по умолчанию установлена UTF-8?

Все эти SET NAMES и SET CHARSET влияют на то, в какой кодировке MySQL получает и отдаёт данные, но НИКАК не влияют на то, в каком виде СУБД данные хранит. И очень велика вероятность, что бесплатный хостинг для уменьшения занимаемого места по умолчанию использует в MySQL однобайтную кодировку символов - в которую ничего, кроме символов ASCII, записать невозможно.
Остальные ответы
Похожие вопросы