MySQl - кодировка
В какой кодировке указывать надо, чтоб достало данные из майкл в русском виде а не знаками вопроса?
Что здесь поменять нужно? ![]() |
Вобще обычно ставится utf8_general_ci
Но вопросики могут быть из-за несоответсвия заявленной на странице кодировки и действительной кодировки текста. Так же проблема может быть в неправильной кодировки соединения с бд и тд... |
Указал как вы написали и всё равно всё знаками вопроса.
Во как я соединяюсь: <?php $server = 'localhost'; //Имя сервера $user = 'xai'; //Логин $password = '12345'; //Пароль $db = 'video'; $table = 'lessons'; //Название таблицы $error_database = '<h2>Произошла ошибка в базе данных,<br/> в ближайшее время она будет устранена!</h2>'; $connect = mysql_connect($server,$user,$password); if(!$connect){ echo $error_database; exit; }; //$connect по какому соединению мы работаем $select = mysql_select_db($db,$connect); if(!$select){ echo $error_database; exit; }; ?> Какую кодировку указывать для поля, которое вывожу? |
После подключения выполните запрос
Код:
SET NAMES utf8 |
Написал так
<?php mysql_query("SET NAMES utf8"); $server = 'localhost'; //Имя сервера $user = 'xai'; //Логин $password = 't37du78ah4'; //Пароль $db = 'video'; $table = 'lessons'; //Название таблицы $error_database = '<h2>Произошла ошибка в базе данных,<br/> в ближайшее время она будет устранена!</h2>'; $connect = mysql_connect($server,$user,$password); if(!$connect){ echo $error_database; exit; }; //$connect по какому соединению мы работаем $select = mysql_select_db($db,$connect); if(!$select){ echo $error_database; exit; }; ?> Стало не знаками вопроса выдавать, а вот такими уже буквами. Случилось то, чего так долго ждали РІ Рунете, РЅРѕ чего РЅРёРєРѕРіРґР° ранее еще РЅРµ было!..РџСЂРѕРёР·РѕС€� �»Рѕ РїРѕ истине эпохальное событие!.. Невероятный, потрясающий подарок всем, кто интересуется заработками РІ Сети!.. |
Во-первых нужно посмотреть сами таблицы ели в них тоже крякозябры, то нужно самому документу задать кодировку и посмотреть чтобы каждая таблица соответствовала при мерно такой строчке:
ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; к примеру: CREATE TABLE `elements` ( `id` int(11) NOT NULL auto_increment, `title` varchar(255) NOT NULL, `name` longtext NOT NULL, PRIMARY KEY (`id`) ) ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
Цитата:
Цитата:
ЗЫ: И чтоже это за эпохальное событие такое? Головастик полез прогать в похапе? |
Цитата:
при смене кодировки таблицы или её строк нужно и саму таблицу перезалить(экспорт импорт), иначе она останется в той кодировке в которой была, несмотря на то что будет стоять utf-8. Если вы работает с ajax то utf-8 важно, если просто выборка и вывод то можно и в cp1251. Важно чтобы кодировка в базе соответствовала кодировке указанной в странице в тегах(для utf-8): <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <meta http-equiv="Content-Language" content="ru"> А также сами данные были в той же кодировке. Если вы всё проверили, а данные всё ещё не читабельны. смотрите заголовки посылаемые сервером на сервер заголовки устанавливаются либо через apache либо в самом php скрипте: header("Content-type: text/html; charset=utf-8"); |
Цитата:
сначала mysql_connect, mysql_select_db и только потом mysql_query |
Вот полное состояние моей базы, выражены на фото.
У меня есть файл 1.php в нём такой код: Код:
<?php kontent1.php Код:
<div class="center"> Код:
<?php phpmyadmin 5 версии(там хостинг), такие кракозябры вылетают, уже не знаю что делать. ![]() ![]() ![]() |
Часовой пояс GMT +3, время: 09:31. |