Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум MySQL

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Кодировка ср1251 в PHP
 
 автор: DMNakaKaban   (03.04.2009 в 16:34)   письмо автору
 
 

Добрый день.
Возникла проблема при записи в таблицу данных.
База создается. Обратите внимание, принудительно указал кодировку

$dbname="forum";
        if (!@mysql_select_db($dbname))
        {
        echo ("<br>Такой базы нет, создаем...");
        }
        else
        {
        echo "<br>База с таким именем уже существует";
        //exit();
        }
$query="CREATE DATABASE $dbname DEFAULT CHARACTER SET cp1251;";
        if(!@mysql_query($query))
        {
        echo "<br>Ошибка при создании базы";
        }
        else
        {
        echo "<br>База создана";
        }


Далее создаем таблицу...
Затем вносим туда запись

$insert="INSERT INTO catalogs values (1, 'Процессоры');";
if (!@mysql_query($insert)) echo "<br>Операция не выполнена";
else echo "<br>Операция выполнена";

Выдает: "Операция не выполнена".
Далее лезем в "мускул", набираю тоже самое через консоль, получаю писк и ошибку 1336
Далее пробую в консоли прописать "SET NAMES 1251", вуаля, получаю результат и могу писать
русские буквы в таблицу.
Лезу в PHP, добавляю строчку, получаю

@mysql_query("SET NAMES cp1251");
$insert="INSERT INTO catalogs values (1, 'Процессоры');";
if (!@mysql_query($insert)) echo "<br>Операция не выполнена";
else echo "<br>Операция выполнена";

Но вот теперь он пишет, что операция выполнена, строку записывает, но русские буквы превращаются в непонятные символы. Как быть?

  Ответить  
 
 автор: cheops   (04.04.2009 в 17:11)   письмо автору
 
   для: DMNakaKaban   (03.04.2009 в 16:34)
 

Непонятные символы как выглядят? И как вы просматриваете их, через PHP-скрипт?

PS Консоль Windows имеет по умолчанию кодировку 866, перед запуском mysql-клиента её нужно менять на 1251 при помощи команды chcp, если хотите работать с Windows-1251 (при этом следует выставлять шрифт Lucida Console, точечные шрифты русские символы в кодировке cp1251 не поддерживают).

  Ответить  
 
 автор: DMNakaKaban   (06.04.2009 в 10:45)   письмо автору
219.5 Кб
 
   для: cheops   (04.04.2009 в 17:11)
 

Попробовал...
Что именно пишет можно увидеть во вложении.
И как в ОС поменять шрифт на Lucida Console в командной строке?

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования