|
|
|
| Добрый день.
Возникла проблема при записи в таблицу данных.
База создается. Обратите внимание, принудительно указал кодировку
$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>Операция выполнена";
|
Но вот теперь он пишет, что операция выполнена, строку записывает, но русские буквы превращаются в непонятные символы. Как быть? | |
|
|
|
|
|
|
|
для: DMNakaKaban
(03.04.2009 в 16:34)
| | Непонятные символы как выглядят? И как вы просматриваете их, через PHP-скрипт?
PS Консоль Windows имеет по умолчанию кодировку 866, перед запуском mysql-клиента её нужно менять на 1251 при помощи команды chcp, если хотите работать с Windows-1251 (при этом следует выставлять шрифт Lucida Console, точечные шрифты русские символы в кодировке cp1251 не поддерживают). | |
|
|
|
|
 219.5 Кб |
|
|
для: cheops
(04.04.2009 в 17:11)
| | Попробовал...
Что именно пишет можно увидеть во вложении.
И как в ОС поменять шрифт на Lucida Console в командной строке? | |
|
|
|