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 в нём такой код: Код:
<?phpkontent1.php Код:
<div class="center">Код:
<?phpphpmyadmin 5 версии(там хостинг), такие кракозябры вылетают, уже не знаю что делать. ![]() ![]() ![]() |
| Часовой пояс GMT +3, время: 00:22. |