Пропустить

Как сделать phpBB совместимым с MySQL 4.1.х

Темы по наиболее часто задаваемым вопросам по phpBB 2.0.x. Читать в первую очередь!

Сообщение VitBBoy » 23.12.2006 19:10

Putul писал(а):Вчера при попытке перенести базу с хостинга на локальную машину действительно тоже появились знаки вопроса. Сделал описанные в первом сообщении действия, но это не помогло. Вопросы как были так и остались. Потом просто снёс таблицы в базе и сделал импорт базы через phpMyAdmin с указанием кодировки при импорте, а именно выбрал "cp1251" вместо умолчальной "utf8" и всё стало на свои места. Может это кому поможет...


проблема решилась но только когда базу смотришь через phpmyadmin, но на форуме иероглефы все равно...

VitBBoy
phpBB 1.0.0
 
Сообщения: 2
Зарегистрирован: 16.05.2006 14:08
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение San4OZE » 08.01.2007 22:23

Ну и, разумеется, сами таблицы в базе данных тоже должны соответстовать указанной кодировке, т.е. должны быть созданы с...

А че с этим кодом делать?
Ясность - главное достоинство речи.
Аватара пользователя
San4OZE
phpBB 1.0.0
 
Сообщения: 1
Зарегистрирован: 07.01.2007 16:13
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Как сделать phpBB совместимым с MySQL 4.1.х

Сообщение di » 10.02.2007 9:25

Meithar писал(а):В MySQL 4.1 для корректной работы необходимо указывать кодировку которая будет использоваться при передаче и получении информации из базы данных. В стандартном phpBB этого нет.

Один из вариантов, как это можно сделать:

в includes\db.php перед
добавить
$db->sql_query("SET NAMES 'cp1251'");


Ну и, разумеется, сами таблицы в базе данных тоже должны соответстовать указанной кодировке, т.е. должны быть созданы с
DEFAULT CHARSET=cp1251


Проблема у меня уже во второй раз, была и с двигой сайта, теперь с форумом, с сайтом сделал примерно то что у вас написано нужно сделать с форумом, ???? исчезло, с форумом почему то не выходит - в db2.php добавил в конце(я так понимаю в самом конце скрипта добавить нужно было)
$db->sql_query("SET NAMES 'cp1251'");
не помогает, а где прописать про таблицы БД? - DEFAULT CHARSET=cp1251, подскажите плиз, с этим форумом в первый раз, посоветовали доюбрые люди, я уж и скин сделал, а тут...

di
phpBB 1.0.0
 
Сообщения: 1
Зарегистрирован: 10.02.2007 9:15
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Проблема при смене хостинга

Сообщение hempman » 15.03.2007 1:17

Хочу сменить хостинг. Перенес все файлы и базы на новый сервер.
Началось все с того, что кириллица отображалась неверно, т.к. на новом хостинге в MySQL установленная кодировка то ли utf8, то ли binary, а БД у меня в cp1251.
Прописал коннект, вставив строчку
mysql_query("SET NAMES 'cp1251'");
где-то в начале файлов mysql.php и mysql4.php, а именно после строки
define("SQL_LAYER","mysql4");

После этого кириллица стала отображаться нормально, но вверху страницы выдаются ошибки:
Warning: mysql_query() [function.mysql-query]: Access denied for user 'apache'@'localhost' (using password: NO) in /home/msiba/domains/***/public_html/db/mysql4.php on line 26

Warning: mysql_query() [function.mysql-query]: A link to the server could not be established in /home/msiba/domains/***/public_html/db/mysql4.php on line 26

Warning: Cannot modify header information - headers already sent by (output started at /home/msiba/domains/***/public_html/db/mysql4.php:26) in /home/msiba/domains/***/public_html/includes/sessions.php on line 264

Warning: Cannot modify header information - headers already sent by (output started at /home/msiba/domains/***/public_html/db/mysql4.php:26) in /home/msiba/domains/***/public_html/includes/sessions.php on line 265


Кто-нить знает, как устранить эти ошибки? Или, как можно по-другому прописать коннект или другим образом решить проблему с кодировкой?

Спасибо

hempman
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 01.10.2006 13:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 15.03.2007 1:29

hempman писал(а):где-то в начале файлов mysql.php и mysql4.php, а именно после строки

define("SQL_LAYER","mysql4");

Не там... отсюда все проблемы. Как надол - обсуждалось в теме про совместимоть с MySQL 4,1
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение hempman » 15.03.2007 2:10

Что-то нашел. теперь все ок.
Спасибо большое!

hempman
phpBB 1.0.0
 
Сообщения: 5
Зарегистрирован: 01.10.2006 13:46
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение gagarin » 18.03.2007 15:52

не могу решить все ту же проблему...знаки вместо русских букв...пожалста, помогите...все что выше указано - не помогает...может я чтот не так делаю...
http://www.forum.one-point.ru

gagarin
phpBB 1.0.0
 
Сообщения: 1
Зарегистрирован: 18.03.2007 15:48
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение rxu » 18.03.2007 15:54

gagarin
Вообще ничего, кроме надписи empty.
FAQ читали?
Изображение
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
 
Сообщения: 7314
Зарегистрирован: 12.05.2006 17:16
Откуда: Красноярск
Благодарил (а): 2 раз.
Поблагодарили: 251 раз.

Сообщение Realmk2 » 23.03.2007 13:14

Meithar писал(а):в includes\db.php перед
Код:
?>

добавить
Код:
$db->sql_query("SET NAMES 'cp1251'");


Респект. Была такая проблема: после переезда на новый хостинг: данные из базы отображались в одной кодировке, а текст из страниц отображался в другой. Удалось подружить их именно так.
Спасибо большое.

Realmk2
phpBB 1.0.0
 
Сообщения: 3
Зарегистрирован: 08.03.2007 20:29
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Как сделать phpBB совместимым с MySQL 4.1.х

Сообщение Pumych » 20.05.2007 15:50

Meithar писал(а):В MySQL 4.1 для корректной работы необходимо указывать кодировку которая будет использоваться при передаче и получении информации из базы данных. В стандартном phpBB этого нет.

Один из вариантов, как это можно сделать:

в includes\db.php перед
добавить
$db->sql_query("SET NAMES 'cp1251'");


Ну и, разумеется, сами таблицы в базе данных тоже должны соответстовать указанной кодировке, т.е. должны быть созданы с
DEFAULT CHARSET=cp1251


При создании БД есть возможность выбора

cp1251_bin
cp1251_general_ci
cp1251_general_cs

какой из них?

Pumych
 

Сообщение m157y » 20.05.2007 17:33

general_ci
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
m157y
phpBB 2.0.9
 
Сообщения: 342
Зарегистрирован: 08.08.2006 16:32
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Makc666 » 22.06.2007 12:34

Я свой форум перевел нормально на MySQL 5.* + php 5.*

MySQL-кодировка: UTF-8 Unicode (utf8)
Сравнение базы данных:
cp1251_general_ci

+
FAQ - Список часто задаваемых вопросов
http://phpbbguru.net/community/viewtopic.php?t=2328
вопрос Q26

Или это: (без разницы)
MOD Title: DB Set Names
http://phpbbguru.net/community/viewtopi ... 888#135888

И не захотел работать поиск...

Причина была в том, что по какой-то причине, боюсь щас уже никто не знает по какой, в таблице:
`phpbb_search_wordlist`
поле:
`word_text`
оказалось в сравнении:
cp1251_bin

А изменить сравнение оно не даёт:

ALTER TABLE `phpbb_search_wordlist` CHANGE `word_text` `word_text` VARCHAR( 50 ) CHARACTER SET cp1251 COLLATE cp1251_general_ci NOT NULL

Ответ MySQL: Документация
#1062 - Duplicate entry 'Âîñüìîé' for key 1


+ я никак не могу найти это entry 'Âîñüìîé'.

Если удалить PRIMARY индекс на поле `word_text`, потом сравнение изменить на cp1251_general_ci , то поиск заработает, но вот создать Первычный / PRIMARY индекс не получится, потому что опять же будет выдаваться эта же ошибка.

Сижу думаю, в чём тут фичи... И как её обмануть :)
...... Изображение ...... "А стукачков мы не любим!"
Аватара пользователя
Makc666
phpBB 2.0.1
 
Сообщения: 126
Зарегистрирован: 02.11.2005 6:48
Откуда: MSK-RU
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Xpert » 22.06.2007 12:38

Убить таблицу, пересоздать, переиндексировать. Сами через это прошли...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Xpert
phpBB Guru
phpBB Guru
 
Сообщения: 5493
Зарегистрирован: 13.03.2004 21:27
Откуда: msk.ru
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение Makc666 » 22.06.2007 12:48

Xpert писал(а):Убить таблицу, пересоздать, переиндексировать. Сами через это прошли...

Ты хочешь сказать, что нужно убить все записи слов?
А потом создать базу слов заново?

Тогда базу слов чем лучше чем создавать заново:

Этим модом первым?
reindex_mod: reindex_mod-101.zip
http://phpbbguru.net/community/topic2134.html

Или этим?
[2.0.21] Rebuild Search
http://www.phpbb.com/community/viewtopic.php?t=329629
...... Изображение ...... "А стукачков мы не любим!"
Аватара пользователя
Makc666
phpBB 2.0.1
 
Сообщения: 126
Зарегистрирован: 02.11.2005 6:48
Откуда: MSK-RU
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Сообщение VVVas » 22.06.2007 21:27

Makc666
Я пользовал функцию из мода DB Maintenance. С переводом http://www.phpbbguru.net/community/view ... aintenance все придельно понятно. Другие указанные моды - на некоторых хостингах так и не смог от них добиться положительного результата.
Аватара пользователя
VVVas
Former team member
 
Сообщения: 4469
Зарегистрирован: 12.11.2004 0:20
Благодарил (а): 0 раз.
Поблагодарили: 10 раз.

Пред.След.

Вернуться в FAQ (phpBB 2.0.x)

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы