Intellect Board — cистема управления сайтом

Построение сайта на основе форума

Intellect Board — cистема управления сайтом »   Техническая поддержка версии 2.20 »   Проблемы с кодировкой
RSS

Проблемы с кодировкой

В админцентре вместо кириллицы в некорых пунктах "?????"

Текущий рейтинг темы: Нет
Выводить сообщения

<<Назад  Вперед>>Страницы: 1 2 3
Модераторы: aerograf, wsx
Печать
 
gedeon
Почетный участник


Всего сообщений: 119
Рейтинг пользователя: 2


Ссылка


Дата регистрации на форуме:
18 фев. 2007
Вот как список профессий выглядит на rabota.ru:
--------------------------------------------------------------------------

Выберите название профессии по алфавиту:

А Б В Г Д Е Ж З ИКЛМ Н ОПРСТ У Ф Х Ц Ч Ш Щ Э Ю Я

0-9 A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
-------------------------------------------------------------------------------

Если под какими то буквами есть вакансии, то буква выделаяется жирным шрифтом.

Примерно то же самое должно быть и в IntBoard
mazut
Начинающий

mazut
Откуда: Berlin
Всего сообщений: 45
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 июня 2007
Комп у меня чистый немец, без дополнительных языков. С cp1251 на локалке вопросики. Хост тоже немецкий, та-же трабла. На хостере стоит latin1_swedish_ci. Сам двиг работает без замечаний, толко в MySQL файле теперь одни вопросики, (у меня стоял тогда еще русский язык) но как-то ет дело трансформируется в руские буквы :biggrin. На русском хостере стоит cp1251 как положено, без вопросиков. Вывод- каждый хостер разный, не подстроиш под одну планку.
gedeon
Почетный участник


Всего сообщений: 119
Рейтинг пользователя: 2


Ссылка


Дата регистрации на форуме:
18 фев. 2007
потому и предлагаю вот такое решение - два алфавита, кириллица и латинский.
Drugold
Почетный участник


Откуда: Москва
Всего сообщений: 182
Рейтинг пользователя: 1


Ссылка


Дата регистрации на форуме:
7 авг. 2006
Видимо, в движке форума что-то изменилось. Не знаю как в 2.19, а в 2.18 ставил cp1251_general_ci и проблем с вопросиками не было. А здесь, получается, нет однозначного решения. :(

Gram
Администратор

Gram
Откуда: Нижний Новгород
Всего сообщений: 1011
Рейтинг пользователя: 38


Ссылка


Дата регистрации на форуме:
23 июля 2003

gedeon написал:
[q]
Даже ХХХPRO не знает как это сделать.
[/q]

Я знаю. У меня где-то с месяц назад была кодировка latin1 и шведское collation. Всё бы ничего, да из-за этого возникали проблемы с поиском, проблемы в фильтре внутри раздела, проблемы с отображением алфавита в админке и энциклопедии. Я решил это дело исправить. Проблема осложнялась тем, что база у меня была очень большая — порядка 60Mb - phpMyAdmin с такой нагрузкой ествественно не мог справится, пришлось искать альтернативу. Совершенно случайно наткнулся на просто чудесный скрипт Sypex Dumper (кто-то с этого форума подсказал) — рекомендую для backup'a и восстановления баз данных любого размера — быстро, удобно, качественно и гибко. В общем утилитка зарекомендовала себя с положительной стороны даже на проблемных хостингах. Ну так вот, с помощью этой утилиты я снял backup своей базы (можно снять не всю базу, там есть фильтр таблиц, но я снимал полностью всю), предварительно установив в dumper.php следующие значения, CHARSET = 'auto', RESTORE_CHARSET = 'forced->cp1251'), получился архивный файл в mysql-кодировке latin1 - на всякий случай его качнул, проверил, что русские символы в кодире latin1 имеются, и затем с этого файла эту же утилиту запустил на восстановление. В итоге эта утилита перевела базу из кодировки latin1 в кодировку cp1251 и восстановила дамп базы уже в новой кодировке. В результате я получил свою базу в кодировке cp1251. Поскольку у меня на серваке база была по умолчанию в кодировке latin1, а значит и клиент к ней по умолчанию подключался по этой кодировке, то вместо нормальных русских букв на форуме были вопросики. Ура, сказал я, значит всё сделал правильно :) Эта проблема обходится значительно проще - нужно перед каждым коннектом к базе вызвать запрос:
mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());
В случае же с форумом intboard необходимо в файле bd/mysql.php раскоментировать (убрать двойной слеш //) строчки
mysql_query("SET NAMES 'cp1251'",$lastlink);
И всё ;)

И так, пути следующие:
1. Качаем утилитку Sypex Dumper
2. Выставляем в dumper.php следующие значения, CHARSET = 'auto', RESTORE_CHARSET = 'forced->cp1251') и закачиваем файлик на сервак в какую-нить папочку с доступом 777
3. Делаем backup базы
4. Восстанавливаемся из базы
5. Для форума в файле bd/mysql.php раскомментировать строчки mysql_query("SET NAMES 'cp1251'",$lastlink); (в двух местах)
6. Для остальных скриптов надо руками прописывать mysql_query("/*!40101 SET NAMES 'cp1251' */") or die("Error: " . mysql_error());

Ну и вот вам ссылка еще в помощь: http://sypex.net/encoding/

Теперь я счастливый обладатель неглючного поиска ;)
4X_Pro
Руководитель Проекта
Настоящий Компьютерщик
4X_Pro
Откуда: Москва
Всего сообщений: 3299
Рейтинг пользователя: 70


Ссылка


Дата регистрации на форуме:
29 сен. 2001

gedeon написал:
[q]
Примерно то же самое должно быть и в IntBoard
[/q]

В IntBoard сделано иначе: те буквы, на которые которые статей нет, просто не выводятся. С разбиением алфавита на две части есть некоторые проблемы, хотя еще подумаю над этим.

Насчет кодировки — Gram дал весьма дельный совет. Я однажды столкнулся с подобным явлением на одном из комм. сайтов, и поступал примерно так же, только дамп снимал обычным phpMyAdmin (т.к. база была небольшая).


mazut написал:
[q]
Вывод- каждый хостер разный, не подстроиш под одну планку.
[/q]

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

---
Спорить со мной по поводу того, что в IntB будет, а чего нет -- бесполезно!
mazut
Начинающий

mazut
Откуда: Berlin
Всего сообщений: 45
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 июня 2007
Sypex Dumper пользуюсь давно, ишо с нюки, когда стояла. Как будет время выставлю на хост с новыми идеями
от Gram, отпишусь. Но поиск работает у меня нормально, без глюков.
mazut
Начинающий

mazut
Откуда: Berlin
Всего сообщений: 45
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 июня 2007
Ни чего не получается у меня.Наверно туплю где-то. Вот так сделал:

define('CHARSET', 'auto');

define('RESTORE_CHARSET' = 'forced->cp1251');

Получаю:

Parse error: syntax error, unexpected '=' in C:\xampp\htdocs\prob\dump\dumper.php on line 45

Без forced-> работает как положено.
Gram
Администратор

Gram
Откуда: Нижний Новгород
Всего сообщений: 1011
Рейтинг пользователя: 38


Ссылка


Дата регистрации на форуме:
23 июля 2003
Вот так надо:

define('CHARSET', 'auto');
define('RESTORE_CHARSET', 'forced->cp1251');
mazut
Начинающий

mazut
Откуда: Berlin
Всего сообщений: 45
Рейтинг пользователя: 0


Ссылка


Дата регистрации на форуме:
16 июня 2007
Теперь все получилось, спасибо. :thumbup
<<Назад  Вперед>>Страницы: 1 2 3
Модераторы: aerograf, wsx
Печать
Intellect Board — cистема управления сайтом »   Техническая поддержка версии 2.20 »   Проблемы с кодировкой
RSS

2 посетителя просмотрели эту тему за последние 10 минут
В том числе: 2 гостя, 0 скрытых пользователей

Последние RSS
Ограничение доступа
не отображаются разделы
Архив версий
Установка стиля на Intellect Board 2.22
Завершилась работа над новой версией 3.00

Самые активные 5 тем RSS


Время выполнения скрипта: 0.0496. Количество выполненных запросов: 18, время выполнения запросов 0.0000
Creative Commons License Rambler's Top100 Rambler's Top100 Рейтинг@Mail.ru Valid HTML 4.01 Transitional Valid CSS!