Вот... Изучаю PHP. Дошла до соединения с БД.
И тут такая проблема.
В файле *.php прописываю соединение с БД.
Затем прописываю запросы, вывожу результаты на экран.
Все работает. Ошибок не выдает. НО! Проблема:
русский текст не распознается. Выводит знаки ???
При этом английские буквы нормально выводит.
Так понимаю, что проблемы с кодировкой.
Кодировку меняла и в самом php-файле, и в БД.
На windows-1251 и на utf-8 и utf8_general_ci.
Видимо я пишу по старой версии PHP, и для PHP 5.х
этот метод не подходит. Но я учусь по книжке, там так
написано...
В сети нашла решение моей проблемы.
Но уже который час читаю, глаза уже красные,
не могу понять, что делаю не так. Если писать на основе
примеров, которые там написаны, то у меня сразу три ошибки
выдает. Вообще, как это использовать правильно?
Ничего не помогает. Что нужно сделать?
Подскажите, пожалуйста.
Код, который писала по книге такой:
$result=mysql_query("SELECT * FROM firma",$db);
$myrow=mysql_fetch_array($result);
echo $myrow["id_firma"];
echo " - ".$myrow["name"];
echo " ".$myrow["surname"];
echo " - ".$myrow["doljnost"];
?>
Только просьба ко всем большая. Давайте не будем тут разговаривать на тему, зачем девушке программирование. Уже общались по этому вопросу. Изучаю - значит надо. Спасибо за понимание:)
Ответ
// Подключение
mysql_connect("localhost","user","pass");
mysql_select_db("db");
mysql_set_charset("utf8")
либо если используется mysqli
$mysqli = new mysqli("localhost", "user", "pass", "bd");
$mysqli->set_charset("utf8")
// Дальше работа с базой
При создании базы так же использовать кодировку utf8_general_ci, либо перевести в нее текущию. Так же ставте заголовок charset=UTF-8 и переводите кодировку самого файла (где пишите код и вообще все файлы) в кодировку UTF-8.
После понимания синтаксиса советую все делать в mysqli(нежели mysql) т.к. удобнее, есть поддержка, ну и ООП естественно, но это уже потом узнаете) Удачи.
Комментариев нет:
Отправить комментарий