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

Форум MySQL

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

 

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

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ???????? ?????? ?????

Сообщения:  [1-10]    [11-20]  [21-21] 

 
 автор: Trianon   (07.05.2007 в 12:37)   письмо автору
 
   для: Barsuta   (07.05.2007 в 12:29)
 

Я очень извиняюсь, но 1256 в этой строчке - явная ошибка. Даже не представляю, что именно глюкануло в моем посте - строку я брал из отчета PMA.
Естественно, том должно быть COLLATE cp1251_general_ci

Никакой особой несовместимости в скриптах у Вас нет.
SQL- сервер отрабатывает сравнения при сортировке согласно характеристик полей.
Если сравнение задано в типе поля - он возьмет его оттуда - иначе будет смотреть на всю таблицу.
Если сравнение задано в характеристиках таблицы - он возьмет его оттуда - иначе будет смотреть на всю базу данных.
Поэтому я предложил установить сравнение на самом верхенм уровне - уровне БД.
Но с тем же успехом (и такие права у Вас явно есть) Вы можете указать его и для отдельной (или нескольких) таблицы. И для поля.

   
 
 автор: Barsuta   (07.05.2007 в 12:29)   письмо автору
 
   для: Trianon   (06.05.2007 в 15:39)
 

Вот, что мне сегодня ответила агава:

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

Разве может такое быть - возможно в ваших скриптах есть некоторая несовместимость с данной версией MySQL ?

Как тогда сделать скрипты совместимыми?

По поводу запроса:

ALTER DATABASE `НазваниеВашейБазыДанных` DEFAULT CHARACTER SET cp1251 COLLATE cp1256_general_ci


... попросила выполнить, результатов пока не знаю.

   
 
 автор: Trianon   (06.05.2007 в 15:45)   письмо автору
 
   для: Barsuta   (06.05.2007 в 11:07)
 

Попробуйте выполнить следующий оператор:

ALTER DATABASE `НазваниеВашейБазыДанных` DEFAULT CHARACTER SET cp1251 COLLATE cp1256_general_ci 

Выполнить его можно из PMA-раздела "Операции" указав внизу сравнение cp1251_general_ci

Если у Вас нет привилегий на такую операцию, придется попросить хостера выполнить её .

   
 
 автор: Trianon   (06.05.2007 в 15:39)   письмо автору
 
   для: Unkind   (06.05.2007 в 01:29)
 

Если характеристика таблицы не соответствует фактическому содержитмому полей, это значит, что содержимое БД искажено. При внесении данных или в процессе импорта - вопрос другой. Искаженное содержимое обычно сразу видно в клиенте администратора.
А здесь же, насколько я понимаю проблема в том, как правильно работать с корректной БД.

   
 
 автор: Barsuta   (06.05.2007 в 11:07)   письмо автору
 
   для: Trianon   (06.05.2007 в 01:08)
 


CREATE TABLE `tov` (
  `id` int(10) unsigned NOT NULL auto_increment,
  `grid` int(10) default NULL,
  `idtov` varchar(255) default NULL,
  `name` longtext,
  `cenad1` float default NULL,
  `cenad2` float default NULL,
  `cenad3` float default NULL,
  `cenad4` float default NULL,
  `catid` int(10) default NULL,
  `categid` int(10) default NULL,
  `categid2` int(11) default NULL,
  `tv1` longtext,
  `tv2` longtext,
  `categname` int(11) default NULL,
  PRIMARY KEY  (`id`)
) ENGINE=MyISAM  DEFAULT CHARSET=cp1251 AUTO_INCREMENT=8664 ;

   
 
 автор: Unkind   (06.05.2007 в 01:29)   письмо автору
 
   для: Trianon   (06.05.2007 в 01:27)
 

Характеристики таблиц, как ни странно, тоже не могут явно указывать на то, в какой кодировке содержимое. Некоторые не могут разобраться с кодировкой для полей в таблицах.

   
 
 автор: Trianon   (06.05.2007 в 01:27)   письмо автору
 
   для: Unkind   (06.05.2007 в 01:17)
 

Вообще-то если дамп в utf-8 - это еще не значит, что текст в таблицах в utf-8.
Характеристики таблиц первого дампа явно показывали, что текст в cp1251.

   
 
 автор: Unkind   (06.05.2007 в 01:17)   письмо автору
 
   для: Barsuta   (05.05.2007 в 14:04)
 

У Вас текст в UTF-8. Вам не cp1251 нужно, а utf8_general_ci:


<?php
mysql_unbuffered_query
("SET `character_set_client` = 'utf8';"); 
mysql_unbuffered_query("SET `character_set_results` = 'utf8';");  
mysql_unbuffered_query("SET `collation_connection` = 'utf8_general_ci';");
?>

   
 
 автор: Trianon   (06.05.2007 в 01:08)   письмо автору
 
   для: Barsuta   (05.05.2007 в 14:04)
 

Покажите пожалуйста структуру таблицы tov
Структуру можно получить в разделе экспорт программы phpMyAdmin - фактически интересует текст оператора
CREATE TABLE ... tov (
....
) ....

   
 
 автор: Barsuta   (05.05.2007 в 14:04)   письмо автору
 
   для: cheops   (05.05.2007 в 13:57)
 

<?
...
// формируем запрос к базе
$conn db_connect();
if (!
$order)
{
$order=name;
}
$goods_result mysql_query("SELECT * FROM tov where grid='$grid' and categname=''  order by '$order'"get_limit($page$amount$in_page));

$count get_count_limit($page$amount$in_page);
while (
$row mysql_fetch_array($goods_result))
 {
   ...
 }
 ...

[поправлено модератором: объёмные листинги, лучше прикреплят в виде файла]

   

Сообщения:  [1-10]    [11-20]  [21-21] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

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