Forum. MyNuke.ru

Forum. MyNuke.ru (http://forum.mynuke.ru/index.php)
-   Общие вопросы (http://forum.mynuke.ru/forumdisplay.php?f=19)
-   -   Изучаем структуру бызы phpnuke (http://forum.mynuke.ru/showthread.php?t=1520)

Wind 14.03.2006 15:33

Изучаем структуру бызы phpnuke
 
За что отвечает nuke_bbsearch_wordlist ? У меня там вот что:

DROP TABLE IF EXISTS nuke_bbsearch_wordlist;
CREATE TABLE `nuke_bbsearch_wordlist` (
`word_text` varchar(50) NOT NULL default '',
`word_id` mediumint(8) unsigned NOT NULL auto_increment,
`word_common` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`word_text`),
KEY `word_id` (`word_id`)
) ENGINE=MyISAM /*!40101 DEFAULT CHARSET=latin1 */;

INSERT INTO `nuke_bbsearch_wordlist` VALUES
('faq', 1, 0),
('вопросы', 2, 0),
('задаем', 3, 0),
('которые', 4, 0),
('ответы', 5, 0),
('разделе', 6, 0),
('увидеть', 7, 0),
('хотите', 8, 0),
......И ТУТ ПОШЕЛ ВОТ ТАКОЙ ЗДОРОВЕННЫЙ СПИСОК НАБОРА СЛОВ КАКИХ-ТО.

Можно ли это удалить и сделать как в первоначальной базе:

CREATE TABLE `nuke_bbsearch_wordlist` (
`word_text` varchar(50) NOT NULL default '',
`word_id` mediumint(8) unsigned NOT NULL auto_increment,
`word_common` tinyint(1) unsigned NOT NULL default '0',
PRIMARY KEY (`word_text`),
KEY `word_id` (`word_id`)
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;

Расскажу зачем мне это и в чем вообще дело.
Как я только поставил phpnuke базу я импортировал с кодировкой binary, так как с 1251 у меня в результате были вместо букв одни вопросы и я не знал, как исправить, а с этой кодировкой (binary) все работало. Но сейчас я разобрался как все сделать: дописать в db/db.php код
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
- мне только это помогло. И так, что я делаю!? Беру свою базу и заменяю в строке ENGINE=MyISAM /*!40101 DEFAULT CHARSET=latin1 */;
latin1 на cp1251 или же просто пробовал полностью удалять эту строку и в phpmyadmin создавал базу nuke таким образом: CREATE DATABASE `nuke` DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci; После я через скрипт dumper загонял измененный sql файл в базу nuke. Процесс шел замечательно до таблицы:
Таблица `nuke_bbsearch_wordlist`.
2006.03.14 14:02:20
Возникла ошибка!
Неправильный запрос.
дХВМЙТХАЭБСУС ЪБРЙУШ '???????' РП ЛМАЮХ 1

Захожу в phpmyadmin и смотрю что в таблице nuke_bbsearch_wordlist, а там вместо
('faq', 1, 0),
('вопросы', 2, 0),
('задаем', 3, 0), и т.д
вот такое
faq 1 0
??????? 2 0
?????? 3 0
то есть вместо русский слов он запихнул вопросы из-за чего и выскочила ошибка и почему я и спрашиваю можно ли это удалить из sql файла вообще. Надеюсь понятно разъеснил всю суть проблемы. Помогите пожалуйста.

Soniks 15.03.2006 04:27

Wind это отвечает за индексация поисковика по форуму
посмотрите внимательну на структуру таблице nuke_bbsearch_wordlist возможно там есть другие кодировки, а должна быть везде одна!
в скрипт дампера так же нужно добавить
mysql_query ("set character_set_client='cp1251'");
mysql_query ("set character_set_results='cp1251'");
mysql_query ("set collation_connection='cp1251_general_ci'");
и все заново экспорт, а потом импорт.

wask 15.03.2006 16:37

убить ... не жалея ...
поисковики ...хмммм ...
внутренний поиск а не поисковики ...
тож маялся .. проблемс иза разности версий мускула и кодировки ...
но там еще одну по ходу тож чистить надо

Wind 15.03.2006 17:15

Собственно я тоже думаю, что у меня на форуме поиском пользоваться не будут , но сперва попробую способом Soniks... о результате сообщу.

wask 15.03.2006 17:25

можно .. ессесно что можно и так ... по очереди токо удаляя то на что будет ошибку кидать ...
но это настоко достает ... в общем сам чищу ... при переносе например с локакалки на хост и обратно ... иногда изворачиваюсь .. дамплю все за исключением этих двух ...
но если у тебя уних система и на хосте и на локалке да и версии подогнаны мускула и кодировка то проблем вообще никаких ..


Часовой пояс GMT +4, время: 15:54.

Copyright © 2005 by Soniks