Перейти к контенту
  • 0

Проблемма с авторизацией русских ников.


Вопрос

В связи с тем, что официальная поддержка фактически послала меня, я выкладываю проблемный вопрос в виде переписки с поддержкой. В поиск не нужно меня посылать. Я там 5 дней уже и все варианты испровбованы и по регистру и по локалю и т.д. и т.п.

 

Итак! Поддержка! При этом ко мне на форум с техподдержки никто не зашел. Какой-то мягко говоря...

 

ИТАК!

 

Вопрос:

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

1

 

 

Сообщение от Andrey на 23.7.2007, 10:25

Добрый день.

Админцентр - Безопасность форума-

Запретить символы с кодом chr(0xCA)?

Коды chr(0xCA) — позволяют создавать «невидимые» пробелы в информации отправляемой форуму.

 

Должна находиться в состоянии НЕТ.

2

 

 

Ваше сообщение на 23.7.2007, 20:34

У меня так и стоит... :D Проблемма возникла при переходе к новому хостингу.

3

 

 

Ваше сообщение на 23.7.2007, 22:51

Хостинг:

http://big-host.ru

 

Прошу, помогите...

4

 

 

Ваше сообщение на 23.7.2007, 22:57

Доступ в админпанель

********

********

 

Помогите. теряю пользователей...

5

 

 

Сообщение от Andrey на 24.7.2007, 11:25

Какая кодировка стояла до и после перехода, так же интересуют версии Mysql.

6

 

 

Ваше сообщение на 24.7.2007, 21:03

Стояла база: mySQL 4.1.21-max / S18

Стоит сейчас: MySQL 4.1

Сейчас кодировка latin1

Была: latin1 bin

Сообщение хостинга: "я прописал вам кодировку базы в конфиг и локаль в index.php.

если ibr вам будет это советовать, то скажите, что эти действия уже сделаны."

 

Вы поможете? Что вам еще дать, чтобы Вы вникли в проблеииу? Я форум читал и вопрос не глупый!!! Вы уж задайте все вопросы к ряду. Я отвечу. Но поймите и меня. Каждый день - потеря форумчан!!! Извините. на нервах уже.

7

 

 

Сообщение от Andrey на 25.7.2007, 12:00

Усли у Вас есть помимо latin1 на сервере, переконвертируйте базу (старую).

Смотрите здесь

http://www.zulus.ws/2006/12/05/ipb-mysql-charset-conversion/

8

 

 

Ваше сообщение на 25.7.2007, 12:15

Извините, я не столь опытен в конвертировании баз. И там не мой вопрос рассматривается. Я так понимаю, что Ваша поддержка невозможна? Вы отсылаете меня на другой ресурс для решения вопроса ;) А как же Ваша помощь? Мне хостинг ясно сказал, что у него одна кодировка.

9

 

 

Сообщение от Andrey на 25.7.2007, 12:34

Почему, это сайт нашего тех. директора.

Мы стараемся Вам помощь.

 

Пока вопрос №1 хостер не русский?

10

 

 

Ваше сообщение на 25.7.2007, 12:44

big-host.ru Он в Германии, похоже. Я уже написал Вам выше и путь на хост и про него.

11

 

 

Сообщение от Andrey на 25.7.2007, 15:21

При таком переносе , все русские буквы "падают" в нижний регистр.

Смотрите принцип работы

http://wiki.iblink.ru/sources/db/mysqlcharsetconversion

 

Решение смена хостинга, надеюсь дамп базы остался,

 

http://arbatec.ru/

 

Посмотрите в их сторону.

12

 

 

Ваше сообщение на 25.7.2007, 15:46

Я ничего не понял. Вы говорите, что база была перенесена неправильно? У меня есть архив базы, но недельной давности. Вы представляете сколько будет потеряно и форумчан и информации? Неужели нет другого решения? И с чего это тот хостинг лучше? Где гарантия, что при переносе туда не появится проблема? Я не сам форум переносил, это делал хостер.

Должно же быть решение другое этой проблемы. Чем тот хост плох?

13

 

 

Сообщение от Yennifer на 25.7.2007, 17:34

Здравствуйте

 

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

14

 

 

Ваше сообщение на 25.7.2007, 17:42

Хостер с точностью до наоборот заявил, что это проблемы настройки скриптов форума и что перенос сделан корректно. Мне это напоминает пинание ногами меня, как мячика. Извините. Может этот вопрос передать другому специалисту у вас? Я же Вам дал доступ и к базе и хостингу. И к форуму. Вы не были у меня на форуме. Пока я вижу только попытку избавиться от меня. Просто такое впечатление сложилось. А путь решения? Что хостер должен сделать? Что у себя настроить? Ведь вопрос стоит в базе данных... И в самом движке.

15

 

 

Сообщение от Yennifer на 25.7.2007, 17:49

Для нормальной работы нашего форума с русскими буквами необходимо, чтобы база была в кодировке cp1251, в этом случае мы гарантируем полную работу и отсутствие проблем. На сервере Вашего хостера присутствует кодировка только latin1, поэтому возникают проблемы с работой форума и это не зависит от скриптов форума, т.к. они не работают так как они должны работать. Проблема в самой базе сервера.

16

 

 

Ваше сообщение на 25.7.2007, 17:58

Но хостинг сам работает на этом движке этого форума и пользователей с этим движком на нем не мало! Хозяин этого хостинга тоже ваш клиент!!! Я написал ему наш диалог.

17

 

 

Сообщение от Yennifer на 25.7.2007, 18:18

Проблема происходит из-за того, что мы пытаемся переключить кодировку latin1 bin в кодировку latin1. У Вашего хостера таких проблем не было, потому что она у него изначально стояла latin1. Обратитесь к хостеру, если он готов сотрудничать с нами, чтобы решить Вашу проблему, мы также готовы сотрудничать с ним.

 

 

Собственно я в тупике... За почти неделю куча пользователе, куча постов :) Что мне делать? Новые пользователи зарегистрировавшись уходят не поняв, как авторизоваться. Не все же читают объявления.

ОЧЕНЬ НАДЕЮСЬ НА ПОМОЩЬ!!!

 

Да, представителям администрации форума! Представители хостинга готовы к сотрудничеству. Они есть на этом форуме!

Ссылка на комментарий
Поделиться на других сайтах

Рекомендуемые сообщения

  • 0

Какое сравнение у вас сейчас стоит? latin1 - кодировка, bin - сравнение, какое оно у вас сейчас?

 

P.S. У бигхоста вообще по ходу проблема с русским, от этого никуда не деться...

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Значит по идее должно работать.

 

Проблема авторизации в форум с никами с буквой в верхнем регистре если у вас не cp1251_general_ci; все версии IPB

 

Где-то мы уже обсуждали подобную проблему, дело было в setlocale.

 

Если у вас не работает, вам надо продебажить авторизацию.

У меня стойкое подозрение, что strtolower у вашего хостера не работает. А из-за этого не работает и авторизация.

Ссылка на комментарий
Поделиться на других сайтах

  • 0
"продебажить авторизацию." Извините, а как это? Слово продебажить... Кодировка базы в конфиг и локаль в index.php прописаны :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0

"продебажить" это вставлять

echo $нужная_переменная

в код

чтобы смотреть из-за чего не срабатывает авторизация

Ссылка на комментарий
Поделиться на других сайтах

  • 0
"продебажить" это вставлять
echo $нужная_переменная

в код

чтобы смотреть из-за чего не срабатывает авторизация

Это делается из админки? Почему же в техподдержке этого не смогли сделать? Извините, просто я не знаю, какие переменные нужно вставлять :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0

И всё-таки не может быть просто latin1. Может latin1_general_ci или latin1_swedish_ci, но скорее всего что-то более экзотичное...

 

Попробуйте сделать следующее и напишите результат:

1. Создать гденить на хостинге php файл следующего содержания:

<?php
setlocale(LC_ALL,"ru_RU.CP1251");
$name = "тут логин того кто не может войти, с большой буквой в начале";
print $name;
print strtolower($name);
?>

2. Выполнить запросы в БД(из панели хостинга или phpMyAdmin):

SELECT name FROM ibf_members WHERE id=идэтогоюзера;
SELECT LOWER(name) FROM ibf_members WHERE id=идэтогоюзера;

3. Выполнить запросы из пункта 2 в АЦ форума(именно там).

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Sannis

 

MySQL я уверен всё корректно даст.

Дело имхо в php

 

$name = "тут логин того кто не может войти, с большой буквой в начале";

ну-ну :D

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Спасибо. Попробовать смогу только вечером, т.к. сейчас с коммуникатора на связи. Результат напишу. Хостер знает об этой теме. Думаю, он ответит мне если кодировка более экзотическая.
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Наверное я тупее, чем обо мне думаете. Ничего не получилось у меня с этой новой панелью хостинга для меня :D
Ссылка на комментарий
Поделиться на других сайтах

  • 0
А причём тут панель? Вас попросили php файл запустить.

Извините, дошло...

 

В первом случае выдало имя ника с большой буквы, во втором с маленькой...

Изменено пользователем budushee
Ссылка на комментарий
Поделиться на других сайтах

  • 0

А вот так:

<?php
setlocale(LC_ALL,"ru_RU.CP1251");
$name = "Vasya";
print $name;
print strtolower($name);
?>

чего выдаёт. напишите

Ссылка на комментарий
Поделиться на других сайтах

  • 0
А вот так:

<?php
setlocale(LC_ALL,"ru_RU.CP1251");
$name = "Vasya";
print $name;
print strtolower($name);
?>

чего выдаёт. напишите

То же самое - корректную выдачу ника. При первом запросе с большой, при втором с маленькой... И какие же выводы? :D Решение есть???

Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вопрос дилетанта: Song, разве на английских буквах это можно проверить?
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Тогда сделай запрос в админке:

SELECT LOWER('Vasya')

Задал запрос и с русским ником и нет. Везде выдает ник с нижним регистром. В запросе указывал с большой буквы.

Изменено пользователем budushee
Ссылка на комментарий
Поделиться на других сайтах

  • 0
Вопрос дилетанта: Song, разве на английских буквах это можно проверить?

Можно конечно. У него ж bin.

 

А вот c php промахнулся, да. Точнее увлёкся.

 

budushee

Вот такой код:

<?php
setlocale(LC_ALL,"ru_RU.CP1251");
$name = "Вася";
print strtolower($name);
?>

что выдаёт?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

SELECT name FROM ibf_members WHERE id=идэтогоюзера;

SELECT LOWER(name) FROM ibf_members WHERE id=идэтогоюзера;

По этим запросам выдает корректно имя с большой и маленькой буквы,

И по запросу

SELECT LOWER('Vasya') переводит имя в нижний регистр.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Sannis, оставьте свое "по ходу" при себе.

С кодировкой базы все в порядке.

Бывают проблемы если при переезде указанная кодировка предыдущего хостера не соответсвует действительнoсти, либо если где-то присутствует лишний lower. Скорей всего с lower'ом в скрипте IPB и возникла проблема.

 

До этого я переносил людей с 1gb, у них в панели при создании backup'а можно выбрать кодировку, точнее есть пункт MySQL 4.1 latin1.

Именно им я и пользовался, после вставки дампа - кириллица отображалась без какого-либо шаманства.

 

После переезда budushee обратился с проблемой ко мне, поскольку не получил удовлетварительного ответа от поддержки, в обязанности которой входит - решать проблемы с продаваемыми скриптами. Я посоветовался с небезизвестным всем пользователем Master, в итоге была добавлена кодировкa в config форума:

$INFO['mysql_codepage']				 =	   'latin1';

 

и в index.php прописано:

setlocale(LC_ALL,"ru_RU.CP1251");

 

К сожалению эти изменения не дали нужного результата.

Насколько мне известно, в IPB версии 2.2.x локаль определяeтся автоматически движком форума.

По этому я бы посоветовал просто обновиться до последней версии.

 

 

P.S. Сравнение в нашей MySQL 4.1: latin1_swedish_ci

Кроме как у budushee ниукого данной проблемы раньше не возникало, исходя из этого я думаю что дело в движке форума (лишний lower).

Изменено пользователем Evgheni
Ссылка на комментарий
Поделиться на других сайтах

  • 0
SELECT name FROM ibf_members WHERE id=идэтогоюзера;

SELECT LOWER(name) FROM ibf_members WHERE id=идэтогоюзера;

По этим запросам выдает корректно имя с большой и маленькой буквы,

И по запросу

SELECT LOWER('Vasya') переводит имя в нижний регистр.

Итак. В чем ошибка. Мне уходить с хостинга??? :D

 

Ну а чего вы 20-е сообщение проигнорировали?

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Вопрос дилетанта: Song, разве на английских буквах это можно проверить?

Можно конечно. У него ж bin.

 

А вот c php промахнулся, да. Точнее увлёкся.

 

budushee

Вот такой код:

<?php
setlocale(LC_ALL,"ru_RU.CP1251");
$name = "Вася";
print strtolower($name);
?>

что выдаёт?

Не игнорировал я его. Я вставил этот код в файл и выполнил за росы, которые приводились выше. Я не правильно сделал? Извините.

Ссылка на комментарий
Поделиться на других сайтах

  • 0

Какие нахрен запросы? :D

 

Это код, который нужно вставить в файл с именем 1.php, сохранить его на хостинг и выполнить!

Ну вы же это делали на прошлой странице? Ну неужели не помните?

 

Я же сказал

Вот такой код:

Я не говорил "запросы"

Ссылка на комментарий
Поделиться на других сайтах

Присоединиться к обсуждению

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

Гость
Ответить на вопрос...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.