Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

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

Темы по наиболее часто задаваемым вопросам по phpBB 2.0.x. Читать в первую очередь!
VitBBoy
phpBB 1.0.0
Сообщения: 2
Стаж: 17 лет 10 месяцев

Сообщение VitBBoy »

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

Сообщение San4OZE »

Ну и, разумеется, сами таблицы в базе данных тоже должны соответстовать указанной кодировке, т.е. должны быть созданы с...
А че с этим кодом делать?
Ясность - главное достоинство речи.
di
phpBB 1.0.0
Сообщения: 1
Стаж: 17 лет 1 месяц

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

Сообщение di »

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, подскажите плиз, с этим форумом в первый раз, посоветовали доюбрые люди, я уж и скин сделал, а тут...
hempman
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 5 месяцев

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

Сообщение hempman »

Хочу сменить хостинг. Перенес все файлы и базы на новый сервер.
Началось все с того, что кириллица отображалась неверно, т.к. на новом хостинге в 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
Кто-нить знает, как устранить эти ошибки? Или, как можно по-другому прописать коннект или другим образом решить проблему с кодировкой?

Спасибо
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

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

define("SQL_LAYER","mysql4");
Не там... отсюда все проблемы. Как надол - обсуждалось в теме про совместимоть с MySQL 4,1
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
hempman
phpBB 1.0.0
Сообщения: 5
Стаж: 17 лет 5 месяцев

Сообщение hempman »

Что-то нашел. теперь все ок.
Спасибо большое!
gagarin
phpBB 1.0.0
Сообщения: 1
Стаж: 17 лет

Сообщение gagarin »

не могу решить все ту же проблему...знаки вместо русских букв...пожалста, помогите...все что выше указано - не помогает...может я чтот не так делаю...
http://www.forum.one-point.ru
Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 16313
Стаж: 17 лет 10 месяцев
Откуда: Красноярск
Благодарил (а): 533 раза
Поблагодарили: 2119 раз
Контактная информация:

Сообщение rxu »

gagarin
Вообще ничего, кроме надписи empty.
FAQ читали?
Изображение
Realmk2
phpBB 1.0.0
Сообщения: 3
Стаж: 17 лет

Сообщение Realmk2 »

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

добавить
Код:
$db->sql_query("SET NAMES 'cp1251'");
Респект. Была такая проблема: после переезда на новый хостинг: данные из базы отображались в одной кодировке, а текст из страниц отображался в другой. Удалось подружить их именно так.
Спасибо большое.
Pumych

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

Сообщение Pumych »

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

какой из них?
Аватара пользователя
m157y
phpBB 2.0.2
Сообщения: 340
Стаж: 17 лет 7 месяцев

Сообщение m157y »

general_ci
Помните на форуме демократии нету, все делается так как вздумается администрации и правым быть вы не можете..
Аватара пользователя
Makc666
phpBB 1.4.4
Сообщения: 126
Стаж: 18 лет 4 месяца
Откуда: MSK-RU

Сообщение Makc666 »

Я свой форум перевел нормально на 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 индекс не получится, потому что опять же будет выдаваться эта же ошибка.

Сижу думаю, в чём тут фичи... И как её обмануть :)
...... Изображение ...... "А стукачков мы не любим!"
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Убить таблицу, пересоздать, переиндексировать. Сами через это прошли...
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
Makc666
phpBB 1.4.4
Сообщения: 126
Стаж: 18 лет 4 месяца
Откуда: MSK-RU

Сообщение Makc666 »

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
...... Изображение ...... "А стукачков мы не любим!"
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 4 месяца
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas »

Makc666
Я пользовал функцию из мода DB Maintenance. С переводом http://www.phpbbguru.net/community/view ... aintenance все придельно понятно. Другие указанные моды - на некоторых хостингах так и не смог от них добиться положительного результата.
я люблю daft punk | новый sugoi.ru
Закрыто

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