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

Форум MySQL

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

 

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

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

тема: Вставка рус. символов
 
 автор: ddhvvn   (11.01.2007 в 14:43)   письмо автору
 
 

Раньше подобного мной замечено не было ...
А сейчас. Вставляю в полу tinytext строку с рус. символами, пишет "Data too long".
В config-е прописано SET NAMES 'cp1251';
Таблица - cp1251.
В чем дело?

P.S.:Пробовал конвертировать iconv - из UTF-8 в 1251 вообще выдает пустую строку :((

   
 
 автор: Trianon   (11.01.2007 в 15:19)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 14:43)
 

Что показывает

for($res = mysql_query ("SHOW VARIABLES LIKE '%CHARACTER_SET\_%'");
    $row = mysql_fetch_row($res);  print($row[0].": ".$row[1].'<br/>'));
выполненный после конфига?

   
 
 автор: ddhvvn   (11.01.2007 в 16:32)   письмо автору
 
   для: Trianon   (11.01.2007 в 15:19)
 

вот это

character_set_client: cp1251
character_set_connection: cp1251
character_set_database: latin1
character_set_filesystem: binary
character_set_results: cp1251
character_set_server: latin1
character_set_system: utf8

cp1251 есть. И что дальше?

   
 
 автор: Trianon   (11.01.2007 в 16:37)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 16:32)
 

character_set_database: latin1
character_set_server: latin1

Вот это как-то нехорошо.

   
 
 автор: ddhvvn   (11.01.2007 в 16:44)   письмо автору
 
   для: Trianon   (11.01.2007 в 16:37)
 

Почему? Что надо сделать?
Раньше то все работало!

   
 
 автор: ddhvvn   (11.01.2007 в 18:09)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 16:44)
 

HELP ME!!! ОЧЕНЬ надо :)))

   
 
 автор: Бамси   (11.01.2007 в 18:14)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 18:09)
 

Создай базу данных, и как сравнение выбери cp1251_bin
CREATE DATABASE `test` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_bin;

   
 
 автор: ddhvvn   (11.01.2007 в 18:16)   письмо автору
 
   для: Бамси   (11.01.2007 в 18:14)
 

И что?

   
 
 автор: Trianon   (11.01.2007 в 18:30)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 16:44)
 

>Раньше то все работало!
Что Вы меняли?

   
 
 автор: ddhvvn   (11.01.2007 в 18:51)   письмо автору
 
   для: Trianon   (11.01.2007 в 18:30)
 

да ничего я не менял :)))
просто вот так получаеся!

кстати сейчас попробовал гостевую, все пишется, правда в другую БД

   
 
 автор: Trianon   (11.01.2007 в 18:54)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 18:51)
 

То есть всё работает.
Так создайте нужную БД правильно заново.

   
 
 автор: ddhvvn   (11.01.2007 в 19:09)   письмо автору
 
   для: Trianon   (11.01.2007 в 18:54)
 

не помогает :((

:)))))))))

   
 
 автор: Бамси   (11.01.2007 в 20:18)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 19:09)
 

Сделай предварительны просмотр, того что вы добавляете в БД.

   
 
 автор: ddhvvn   (11.01.2007 в 20:58)   письмо автору
 
   для: Бамси   (11.01.2007 в 20:18)
 

да там все ок выводится

   
 
 автор: Бамси   (11.01.2007 в 21:33)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 20:58)
 

Что под вашим словом все ок выводиться вы имеете ввиду? Почему то мне кажеться что в БД добавляеться допустим в виде &#1074;& #1080;& #1076;...

   
 
 автор: AlexelA   (11.01.2007 в 21:07)   письмо автору
 
   для: ddhvvn   (11.01.2007 в 14:43)
 

Какой максимальный размер записываемых данных?

   
 
 автор: Trianon   (11.01.2007 в 21:25)   письмо автору
 
   для: AlexelA   (11.01.2007 в 21:07)
 

Не в размере там суть.
Проверено, если в поле попробовать записать больше символов, чем оно в состоянии вместить, лишние просто будут отрезаны.
Такая диагностика происходит, когда клиент пытается записать в поле символы, непредставимые в той кодировке, в которой это поле хранится. И не важно, пишутся ли русские буквы вместо latin1 или наоборот.

   
 
 автор: AlexelA   (11.01.2007 в 21:35)   письмо автору
 
   для: Trianon   (11.01.2007 в 21:25)
 

Не совсем так:
http://bugs.mysql.com/bug.php?id=17872
Обратите внимание на последние сообщения

Такая диагностика происходит, когда клиент пытается записать в поле символы, непредставимые в той кодировке, в которой это поле хранится.
Согласен с данным высказыванием, и как вариант ошибки - отличная кодировка атрибута, от
кодировки всей таблицы.

   
 
 автор: ddhvvn   (12.01.2007 в 09:50)   письмо автору
 
   для: AlexelA   (11.01.2007 в 21:35)
 

Так что вы мне посоветуете?
С такой штукой еще не сталкивался...

Хотя нет, сталкивался, но ее исправлял с помощью строки "SET NAMES 'cp1251'", помещенной в конфиг. А щас она не помогает (именно в данном случае):((

   
 
 автор: ddhvvn   (12.01.2007 в 14:07)   письмо автору
 
   для: ddhvvn   (12.01.2007 в 09:50)
 

Все, исправил.
Работает. :))

   
 
 автор: Burn-89   (12.01.2007 в 14:49)   письмо автору
 
   для: ddhvvn   (12.01.2007 в 14:07)
 

Попробуй отправить запрос средствами PHP, перед этим строку занеси в переменную и обработай функцией /////////////convert_cyr_string($твоя_строка, "a", "w");/////////////////////////////////
Потом отправь запрос и вставь в БД... может поможет, что-то типа было...

   
 
 автор: ddhvvn   (12.01.2007 в 16:20)   письмо автору
 
   для: Burn-89   (12.01.2007 в 14:49)
 

Говорю же, заработало :))

P.S.: а этот способ я тоже пробовал, но дело не в этом :)

   
Rambler's Top100
вверх

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