kostil
Новичок
не смог решить проблему кодировок при переходе на mysql4.1.16
привет всем
есть проблема с кодировками в mysql 4.1.16, я знаю что эта проблема уже не однакратно обсуждалась, и есть FAQ по этому поводу, но, к сожалению я перепробовал уже все что описано в посте и FAQ и желаемого резултата добиться так и не смог
быть может кто то подскажет что я делаю не так.
начну с самого начала.
обновил я совй rh9 до fedora 4 mysql4.1.16 php5.0.4 httpd2.0.54 все устанавливалось из rpm пакетов, посему все кодировки стоят по умолчанию latin1 базу из mysql3.23, которая хранилась в кодировке koi8r, сохранил без задней мысли простым mysqldump а потом залил ее в mysql4.1.16
после чего сайт заработал, все русские буквы отображались корректно без каких либо дополнительных манипуляций но вот поиск и сортировка работать отказались
попробовал прописать в my.cnf default-character-set=koi8r но все осталось так же
вставил в скрипт подключения к базе строку mysql_qluery("set names koi8r") - тоже ничего
сам я обычно пользуюсь програмкой navicat для работы с базой. установил в ней чарсет соединения на koi8r и все русские буквы отображались нормально, но сортировка по прежнему не работала
из текста faq понял что у меня второй вариант проблемы. установил себе phpMyAdmin, в его конфигурации поставил чарсет koi8r однако вместо букв в моей базе он отображал кроказябли. Вот кодировки которые мне показывает phpMyAdmin в закладке variables
А на главной странице
после этого пробовал в phpMyAdmin делать set names koi8r что так же не дало эффекта, попрежнему отображались только карявки. запрос вида SELECT CONVERT(CONVERT(поле USING binary) USING кодировка) FROM таблица был опробован с кодировками koi8r utf8 и latin1 но вывести читабельный текст так и не удалось. непомню где прочитал, что можно сделать dump с заданной кодировкой, а не с кодировкой по умолчанию, тобиш utf8 стал пробовать разные варианты, при этом локаль в консоле стоит ru_RU.KOI8-R. вот что можно было увидеть в файлах дампа на месте русского текста(в роли просмоторщика был mc тоже с кодировкой koi8-r);
сделал скрипток для проверки кодировки через php:
который при всех моих манипуляциях упорно выводил latin1 даже когда раскоминтировал строку с set names...
посоветуйте что можно попробовать сделать?
ковыряюсь уже две недели, но ничего путного так и не вышло
привет всем
есть проблема с кодировками в mysql 4.1.16, я знаю что эта проблема уже не однакратно обсуждалась, и есть FAQ по этому поводу, но, к сожалению я перепробовал уже все что описано в посте и FAQ и желаемого резултата добиться так и не смог

быть может кто то подскажет что я делаю не так.
начну с самого начала.
обновил я совй rh9 до fedora 4 mysql4.1.16 php5.0.4 httpd2.0.54 все устанавливалось из rpm пакетов, посему все кодировки стоят по умолчанию latin1 базу из mysql3.23, которая хранилась в кодировке koi8r, сохранил без задней мысли простым mysqldump а потом залил ее в mysql4.1.16
PHP:
mysqldump -u admin -p video > video.sql
mysql -u admin -p video < video.sql
попробовал прописать в my.cnf default-character-set=koi8r но все осталось так же
вставил в скрипт подключения к базе строку mysql_qluery("set names koi8r") - тоже ничего
сам я обычно пользуюсь програмкой navicat для работы с базой. установил в ней чарсет соединения на koi8r и все русские буквы отображались нормально, но сортировка по прежнему не работала

из текста faq понял что у меня второй вариант проблемы. установил себе phpMyAdmin, в его конфигурации поставил чарсет koi8r однако вместо букв в моей базе он отображал кроказябли. Вот кодировки которые мне показывает phpMyAdmin в закладке variables
PHP:
character set client utf8
(Global value) koi8r
character set connection koi8r
character set database koi8r
character set results utf8
(Global value) koi8r
character set server koi8r
character set system utf8
character sets dir /usr/share/mysql/charsets/
collation connection koi8r_general_ci
collation database koi8r_general_ci
collation server koi8r_general_ci
PHP:
MySQL charset: UTF-8 Unicode (utf8)
MySQL connection collation: koi8r_general_ci
PHP:
[admin@test mybackup]# mysqldump -u root -p --default-character-set=utf8 video > video.utf8 карявки с буквой ц
[admin@test mybackup]# mysqldump -u root -p --default-character-set=latin1 video > video.latin1 Русский текст
[admin@test mybackup]# mysqldump -u root -p --default-character-set=koi8r video > video.koi8r Вопросики
PHP:
<?
$link = mysql_connect('localhost','admin','mypass');
mysql_select_db('video');
if (!$link){
printf("Connection failed: %s\n", mysql_error());
exit();
}
# mysql_qluery("set names koi8r");
$charset = mysql_client_encoding($link);
printf("Current character set is %s<br><b>",$charset);
mysql_close($link);
?>
посоветуйте что можно попробовать сделать?
ковыряюсь уже две недели, но ничего путного так и не вышло
