Перейти к контенту
  • 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, сохранить его на хостинг и выполнить!

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

 

Я же сказал

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

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

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

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

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

Гость
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Ответить на вопрос...

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

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

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

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

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

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

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

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