Уважаемые пользователи!
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 2.0.x
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Кодировка БД

Сообщение Alex Kh. »

Всем привет,
кодировка всех таблиц в созданных БД форума - latin1, на сколько я понял. После регистрации русских имён форум работает нормально, но при просмотре имён через запрос SELECT * FROM phpbb_users вместо русских имён нечетабельные символы, то есть определить имя фактически нельзя, по крайней мере по буквам.

Попробывал изменить кодировку на cp1251, но в этом случае, при регистрации вместо русских имён одни знаки ?????

Как решить данную проблему, хотелось бы, чтоб работал форум с русскими именами и дальше, но в бд они отображались по русски

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

Сообщение Xpert »

Alex Kh.
Какой язык у форума по умолчания?
Версия MySQL?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Сообщение Alex Kh. »

Забыл указать:

Язык у форума по умолчанию: русский;
Версия MySQL: mysql-4.1.10-win32;

Попробую уточнить ещё несколько деталей:

Сам форум работает нормально с русскими шрифтами, тоесть, если пользовател ввёл имя по-русски, то и в дальнейшем в форуме он виден по-русски.
Абра кадабра в приложении: MySQL Query Browser.
Мало того, сам MySQL Query Browser не понимает русских букв, может в этом вся причина ?

И крайне важный вопрос Xpert:

я хотел бы объеденить форум, точнее таблицу phpbb_users с таблицей пользователей интернет магазина, ну чтоб скажем, пользователи зарегевшиеся в интернет-магазине могли общаться в форуме и не регестрироваться второй раз, но вопрос в пароле, в форуме он хитрым образом шифруется. Отсюда следует, что необходимо узнать, каким образом происходит шифрование, или каким образом его можно отключить.

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

Сообщение Xpert »

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

Пароли шифруются при помощи алгоритма md5, он вполне стандартный.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Сообщение Alex Kh. »

Хм...
пароли шифруются при помощи алгоритма md5, а их мождо дешифровать этим же алгоритмом, ведь при вводе пароля при авторизации, каким-то образои они сверяются, или этот алгоритм однонаправленный?

Мне после регистрации пришло писмецо, в котором написано следующее:
____
Не забывайте свой пароль: он хранится в нашей базе в зашифрованном виде, и мы не сможем вам его выслать.

эта фраза наводит на мысл, что дешифрация не производится.
Наверно надо почитать про данный алгоритм...
Всё равно благодарю
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза
Контактная информация:

Сообщение Xpert »

Alex Kh.
Пароль, отправляемый пользователем через форму логина, тоже шифруется данным алгоритмом и уже два зашифрованых пароля сравниваются между собой.
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Сообщение Alex Kh. »

Ясно. То есть воостановить пароль из шифра не возможно.

Xpert, а можно ли отключить в phpbb функцию шифрования, или для этого надо менять код или чего больше логику ?
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва
Контактная информация:

Сообщение Coagulant »

Отключить можно изменив код, но безопасность форума от этого пострадает. Может стоит попробовать изменить тип шифрования в форуме на тот, что используется в вашем интернет-магазине.
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Сообщение Alex Kh. »

Ок, спасибо большое, видимо лучше начать новую тему, т.к. данная тема про кодировку БД ).

В заключение хочу сказать следующее, помимо статьи, ссылку на которую любезно предоставил Xpert, я бы хотел дать совет новичкам:
- Лучше сразу перевести все таблицы в кодировку cp1251, т.к. при переводе с latin1 все данные, которые были на русском языке переводятся в ???? и, на сколько я понял, теряются.
SQL запрос осуществляющий данное действо в MySQL следующий:

ALTER TABLE db_name.table_name CONVERT TO CHARACTER SET 'cp1251'

Надеюсь пригодится.
Удачи
Meithar
phpBB 1.4.3
Сообщения: 85
Стаж: 19 лет 9 месяцев

Сообщение Meithar »

ALTER TABLE db_name.table_name CONVERT TO CHARACTER SET 'cp1251'
И что получится в результате такой команды? Вопросики или русский текст?
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Сообщение Alex Kh. »

по порядку:
изначально кодировка таблиц latin1. Данная кодировка позволяет вводить русские буквы и корректно отображать их в форуме, всё работать будет, но если захочется посмотреть данные из БД (MySQL 4)напрямую через запрос SELECT, то они отобразятся крякозяброй. Значит надо поменять кодировку. Если выполнить запрос, то походу все данные превратятся в ???? и значит потеряются. Если запрос провести сразу после установки форума, соответственно теряться нечему и в дальнейшем всё будет пучком.

Вывод: если провести запрос к таблице, в которой находятся данные, они потеряются.

Может как то можно сделать, чтоб данные не терялись, но я не знаю как....
Аватара пользователя
Siava
Поддержка
Поддержка
Сообщения: 5277
Стаж: 19 лет 3 месяца
Откуда: Питер
Благодарил (а): 189 раз
Поблагодарили: 803 раза
Контактная информация:

Сообщение Siava »

Alex Kh.
Я тоже как-то стлокнулся с подобным... как я извращался, чтобы переделать кодировк в нормальную.. :lol:
1. экспортировал из MySQL 4.1.* всю БД форума в sql-файлы
2. импортировал всё это в MySQL 4.0.* (там проблем с кодировкой нет).
3. в MySQL 4.1.* опять создаются таблицы форума (только пустые), которым присваивается русская кодировка 1251.
4. Снова экспортируем sql-файлы из MySQL 4.0.* и заливаем их в 4.1.*

После всех этих извращений я всё же решил забить на кодировки и оставил всё как было - в latin1 :mrgreen:
Еще одно нарушение правил и будете забанены. © Mr. Anderson
Ты очистил кеш? © Sheer
https://siava.ru (phpbb 2.0.x 3.5.x)
Alex Kh.
phpBB 1.2.0
Сообщения: 16
Стаж: 19 лет

Сообщение Alex Kh. »

Siava
честно скажу, что я бы тоже не заморачивался по этому поводу, еслиб мне был нужен только форум, я хочу попробывать объединить таблицу пользователей интернет магазина и таблицу пользователей форума, ну чтоб не надо было два раза региться в магазине, а потом и в форуме. И представляешь ситуацию, когда у меня список из тысячи человек и перец что-нить забудет или надо будет что-то исправить, ну скажем непосредственно запросом, скажем поменяется адрес доставки или там будет ошибка, ну мало ли что, и мне надо будет посмотреть, что же там написано, и чего я буду смотреть на эту загагулину, поэтому решил разобраться.

Хотя честно говоря, когда у тебя много инфы и потерять её очень критично, твой способ очень хорош, теперь буду знать...
Вообще, конечно, было бы прикольно чтобы перцы сделали корректировку в кодах форума, какой смысл оптимизировать ПО под старую СУБД.
Аватара пользователя
leshiy_odessa
phpBB 1.4.0
Сообщения: 33
Стаж: 18 лет 11 месяцев
Поблагодарили: 1 раз

Сообщение leshiy_odessa »

Я проблему с кодировкой решил следующим способом. Нашел файл my.cnf и в нем поменял - cp1251 на latin1


[mysqld]
default-character-set=latin1
#default-character-set=cp1251
Urez
phpBB 1.0.0
Сообщения: 3
Стаж: 18 лет 1 месяц
Откуда: Деревня Москва

Сообщение Urez »

Ребяты я новенький. может кто поможет?
У меня недавно взломали форум. Очень не приятно.
Загрузил новый 2.0.19, был 2.0.06. Привязал к Базе данных версии 4....
Но вот вопрос. Как же восстановить старую базу данных.(я имею ввиду те 3000сообщений которые были на том форуме)

Хостер предоставил полный бекап, прочитав его я понял что там не только база данных форума но и база данных другая загруженная на сервере.
Ребяты ,у меня вопросик. Я хоть и начинающий юзер но пойму наверно
Вопрос: С какой фразы в фаиле скул(текст) начинается форум-база.
эх.
Закрыто

Вернуться в «Локализация phpBB 2.0.x»