Комрады, немножко подточил дизайн сайта (поставлен и основательно перелопачен новый шаблон).
Обновлён движок сайта до последней версии.
Поганый интернет эксплорер не все корректно отображает (в топку?). А вот FireFox и Google Chrome работают отлично.
Проблема с базой данных MySQL. По глупости и неопытности при установке движка была выбрана кодировка latin1_swedish_ci (точнее, она шла по дефолту) и все находящиеся тут статьи записаны в базу именно в ней.
Может кто знает, как перекодировать информацию в базе? (И возможно ли это вообще). Ибо, тогда, будет работать поиск вне зависимости от регистра.
Игорь.
Filed under:
Новости

По идее, нужно выполнять запрос типа
insert into table1 (...) select (...) from table2предварительно выставив кодировки, либо произвести экспорт – импорт через phpMyAdmin – последним пользуюсь. Через него же можно и просто поменять ленги таблиц, но как будут обработанны данные – не помню.
Всё зависит от того в какой кодировке вы писали в базу.
latin1_swedish_ci это кодировка для сравнения в базе, используется самой mysql.
данные хранятся в однобайтовом формате, т.е. на один символ один байт.
в общем тут два варианта,
1) из php данные отправлялись в однобайтовой кодировке, например CP1251 или koi8
в этом случае ничего перекодировать не нужно, сбрасываете данные в дамп без указания кодировки затем пересоздаёте базу и таблицы с нужными параметрами, импортируете дамп обратно с указанием кодировки.
Если посмотреть дамп то там должны быть русские символы в кодировке CP1251 или koi8r
2) из php данные отправлялись как utf8. Этот вариант сложнее.
Т.к. utf8 многобайтовая кодировка (от одного (для латиницы) до двух (всё остальное) байт на символ), приэтом два байта относящиеся к одному символу самой mysql воспринимаются по отдельности, естественно будут косяки.
Но и это решается.
Посему, нужно понять в какой кодировке пишутся в базу.
Но из исходников этой html страницы
смею предположить что это второй вариант.
для начала нужно попробовать
mysqldump -u -p –default-character-set=latin1 -a –skip-set-charset –insert-ignore –no-create-info > ./dump.sql
и посмотреть что там, под разными кодировками, utf8->cp1251->koi8r
если на русский не похоже попробовать дампнуть другой утилитой
Инструкции на английском но там всё просто http://forums.ocsinventory-ng.org/viewtopic.php?pid=17398#p17398
Этот дампер перекодирует данные в utf8 перед записью в файл дампа,после дампа посмотреть на предмет наличия русских символов в кодировке utf8.
Если будут вопросы пишите на почту, обязательно отвечу.
з.ы. koi8r я просто для комплекта привёл, обычно её используют только бсдшники или старые (до 2005) дистрибутивы линукс.
Блин, мои коментарии воспринялись как тэги
mysqldump -u пользователь_бд -p –default-character-set=latin1 -a –skip-set-charset –insert-ignore –no-create-info имя_базы > ./dump.sql
Эта страница содержит
meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″
поэтому я и предположил что вы работаете с utf8
linvinus, спасибо за развёрнутый ответ!
Ааа.. а форум тоже на этой кодировке? Если да, то я не удивляюсь, почему поиск не работает
wow gold or Buy, wow gold à bon marché, World of Warcraft po wow Nous sommes des professionnels magasin en ligne WoW gold.