|
|
|
| Имею проблему :(
При выведении из базы данных названий фильмов, делаю:
SELECT * FROM dvd ORDER BY name (где name-название фильмов на киррилице)
На хосте получается вот это :( :
http://bartondvd.netktr.org/index.php
Вообще не понятно в каком порядке выводяться, где то буквы идут по алфавиту, где то нет...
На локальном сервере всё работает отлично, названия фильмов выводяться строго по алфавиту.
П.С.
На хосте стоит MySQL 5.0
в файл .htaccess добавлено AddDefaultCharset WINDOWS-1251
Очень нужна Ваша помощь!
Заранее благодарен за отклики и советы! | |
|
|
|
|
|
|
|
для: BARTON
(22.12.2005 в 17:56)
| | 1) На локальном хосте какая версия базы данных MySQL используется?
2) На сервере какую кодировку для таблиц по умолчанию выбирали? | |
|
|
|
|
|
|
|
для: cheops
(22.12.2005 в 17:58)
| | -1) На локальном хосте какая версия базы данных MySQL используется?
MySQL4
- 2) На сервере какую кодировку для таблиц по умолчанию выбирали?
Честно говоря не понял вопроса, но скажу что знаю, кодировку я не выбирал, но сервtре стоит phpMyAdmin 2.6.0 и когда я захожу через браузер на базу по умолчанию стоит кодировка Western (ISO-8859-1) , для того чтобы в моей базу правильно отбражалась киррилица перевожу кодировку в Cyrillic Windows 1251. | |
|
|
|
|
|
|
|
для: BARTON
(22.12.2005 в 19:02)
| | Забыл добавить, что на локалке стоит связка Denwer | |
|
|
|
|
|
|
|
для: BARTON
(22.12.2005 в 19:02)
| | >MySQL4
Дело вот в чём, начиная с версии 4.1 каждой таблице можно присваивать собственную кодировку при помощи ключевого слова DEFAULT CHARSET, например,
CREATE TABLE catalogs (
id_catalog int(11) NOT NULL auto_increment,
'name' tinytext NOT NULL,
PRIMARY KEY (id_catalog),
FULLTEXT KEY 'name' ('name')
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
Если вы её не указываете - будет сортировка и кодировка будет latain1, и соответственно, русский текст будет сортироваться неправильно. | |
|
|
|
|
|
|
|
для: cheops
(22.12.2005 в 20:52)
| | Спасибо за советы cheops !
У меня так и было создание таблиц с ENGINE=MyISAM DEFAULT CHARSET=cp1251, но если заливать в таком ввиде , то phpMyAdmin ругается когда я пробую залить sql файл, вот что пишет:
http://bartondvd.netktr.org/oshibka.GIF
если меняю на TYPE=MyISAM AUTO_INCREMENT=403, вместо ENGINE=MyISAM DEFAULT CHARSET=cp1251 , то всё проходит(загружается) нормально...
Вообщем нужна помощь! | |
|
|
|
|
|
|
|
для: BARTON
(22.12.2005 в 22:48)
| | Замените ключевое слово ENGINE на TYPE, но оставьте DEFAULT CHARSET - что пишет? | |
|
|
|
|
|
|
|
для: cheops
(23.12.2005 в 00:15)
| | Ошибка
SQL-запрос:
CREATE TABLE 'comments' (
'Id' int( 11 ) NOT NULL AUTO_INCREMENT ,
'date_add' date default NULL ,
'name_film' varchar( 64 ) default NULL ,
'comp' int( 1 ) default NULL ,
'comment' text,
'film_id' int( 11 ) default NULL ,
'id_autor' int( 11 ) default NULL ,
'name' varchar( 32 ) default NULL ,
PRIMARY KEY ( 'Id' )
) TYPE = MYISAM DEFAULT CHARSET = cp1251
Ответ MySQL: Документация
#1064 - You have an error in your SQL syntax near 'DEFAULT CHARSET=cp1251' at line 11 | |
|
|
|
|
|
|
|
для: BARTON
(23.12.2005 в 01:22)
| | А если убрать все кавычки?
CREATE TABLE comments (
Id int( 11 ) NOT NULL AUTO_INCREMENT ,
date_add date default NULL ,
name_film varchar( 64 ) default NULL ,
comp int( 1 ) default NULL ,
comment text,
film_id int( 11 ) default NULL ,
id_autor int( 11 ) default NULL ,
name varchar( 32 ) default NULL ,
PRIMARY KEY ( Id )
) TYPE = MYISAM DEFAULT CHARSET = cp1251
|
| |
|
|
|
|
|
|
|
для: cheops
(23.12.2005 в 14:02)
| | неа :(
Error
SQL-query:
CREATE TABLE comments (
'Id' int( 11 ) NOT NULL AUTO_INCREMENT ,
'date_add' date default NULL ,
'name_film' varchar( 64 ) default NULL ,
'comp' int( 1 ) default NULL ,
'comment' text,
'film_id' int( 11 ) default NULL ,
'id_autor' int( 11 ) default NULL ,
'name' varchar( 32 ) default NULL ,
PRIMARY KEY ( 'Id' )
) TYPE = MYISAM DEFAULT CHARSET = cp1251
MySQL said: Documentation
#1064 - You have an error in your SQL syntax near 'DEFAULT CHARSET=cp1251' at line 11 | |
|
|
|
|
|
|
|
для: BARTON
(23.12.2005 в 18:31)
| | Вот , что в документации написано про эту ошибку:
#
Error: 1064 SQLSTATE: 42000 (ER_PARSE_ERROR)
Message: %s near '%s' at line %d | |
|
|
|