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

Форум MySQL

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

 

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

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

тема: Опять траблы с кодировкой
 
 автор: Максимыч   (02.08.2006 в 22:09)   письмо автору
 
 

Есть следующий код:

<?php
$connect
=@mysql_connect("localhost","root","");
if (!
$connect) echo "Ошибка соединения с БД";
mysql_query("SET NAMES 'cp1251'");
$bd=@mysql_select_db("test",$connect);
if (!
$bd) echo "Ошибка выбора БД";
mysql_query("INSERT INTO test2 VALUES ('0','Имя','Пароль')");
?>

MySQL стоит 5-й версии. Проблема в том что при попытке добавить в БД запись состоящей из русских букв приводит к ошибке и ничего в БД не добавляется.
Если же заменить запрос на добавление и добавлять латинсикие буквы (например mysql_query("INSERT INTO test2 VALUES ('0','Name','Pas')")) то всё проходит на ура. В чём может быть проблема? И как её устранить?

   
 
 автор: cheops   (02.08.2006 в 23:52)   письмо автору
 
   для: Максимыч   (02.08.2006 в 22:09)
 

Как выглядит сообщение об ошибке?

   
 
 автор: Максимыч   (03.08.2006 в 14:42)   письмо автору
 
   для: cheops   (02.08.2006 в 23:52)
 

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

CREATE TABLE 'test6' (
'id' SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
'user' TEXT CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL ,
'password' TEXT CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL 
) TYPE = MYISAM ;

   
Rambler's Top100
вверх

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