Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 2 1 2 ПоследняяПоследняя
Показано с 1 по 10 из 19
  1. #1
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±

    Иероглифы в поле "password" MySQL

    Написал систему регистрации, всё нормально но смущает то что в Базе данных в поле "password" вместо русских букв пишет разные Иероглифы. "Сравнение" стоит "utf8_general_ci".
     Собственно вот

  2. #2
    Аватар для TheMallard
    Пользователь

    Статус
    Оффлайн
    Регистрация
    08.12.2015
    Адрес
    San Fierro
    Сообщений
    217
    Репутация:
    39 ±
    Хэшируй пароли и таких проблем не будет.

  3. #3
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    Для чего??? Я задал другой вопрос а ответ получил вовсе не тот, хотел бы Хеширование паролей сделал бы.

  4. #4
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    У вас сервер отдает другую кодировку(Windows-1251, русские буквы), а MySQL сервер принимает только кодировку «utf8_general_ci». При хешировании пароля, сервер отдает латинские буквы и цифры.

  5. Пользователь сказал cпасибо:
    Nurick (08.12.2015)
  6. #5
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    Пробовал ставить сравнение на "cp_1251_general_ci" хотя пишет то что поддерживает "кириллический(многоязычный)" только вместо иероглифов стали Вопросительные знаки "????"

    - - - Добавлено - - -

    PHP код:
    -- phpMyAdmin SQL Dump
    -- version 4.5.1
    -- http://www.phpmyadmin.net
    --
    -- 
    Хост127.0.0.1
    -- Время созданияДек 08 2015 г., 13:52
    -- Версия сервера10.1.8-MariaDB
    -- Версия PHP5.6.14

    SET SQL_MODE 
    "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone "+00:00";


    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

    --
    -- 
    База данных: `db_server`
    --

    -- --------------------------------------------------------

    --
    -- 
    Структура таблицы `players`
    --

    CREATE TABLE `players` (
      `
    idint(11NOT NULL,
      `
    namevarchar(24NOT NULL,
      `
    passwordvarchar(15NOT NULL
    ENGINE=InnoDB DEFAULT CHARSET=cp1251;

    --
    -- 
    Дамп данных таблицы `players`
    --

    INSERT INTO `players` (`id`, `name`, `password`) VALUES
    (1'Old_Boy''???????');

    --
    -- 
    Индексы сохранённых таблиц
    --

    --
    -- 
    Индексы таблицы `players`
    --
    ALTER TABLE `players`
      
    ADD PRIMARY KEY (`id`);

    --
    -- 
    AUTO_INCREMENT для сохранённых таблиц
    --

    --
    -- 
    AUTO_INCREMENT для таблицы `players`
    --
    ALTER TABLE `players`
      
    MODIFY `idint(11NOT NULL AUTO_INCREMENTAUTO_INCREMENT=2;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */

  7. #6
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Nurick Посмотреть сообщение
    Пробовал ставить сравнение на "cp_1251_general_ci" хотя пишет то что поддерживает "кириллический(многоязычный)" только вместо иероглифов стали Вопросительные знаки "????"

    - - - Добавлено - - -

    PHP код:
    -- phpMyAdmin SQL Dump
    -- version 4.5.1
    -- http://www.phpmyadmin.net
    --
    -- 
    Хост127.0.0.1
    -- Время созданияДек 08 2015 г., 13:52
    -- Версия сервера10.1.8-MariaDB
    -- Версия PHP5.6.14

    SET SQL_MODE 
    "NO_AUTO_VALUE_ON_ZERO";
    SET time_zone "+00:00";


    /*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
    /*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
    /*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
    /*!40101 SET NAMES utf8mb4 */;

    --
    -- 
    База данных: `db_server`
    --

    -- --------------------------------------------------------

    --
    -- 
    Структура таблицы `players`
    --

    CREATE TABLE `players` (
      `
    idint(11NOT NULL,
      `
    namevarchar(24NOT NULL,
      `
    passwordvarchar(15NOT NULL
    ENGINE=InnoDB DEFAULT CHARSET=cp1251;

    --
    -- 
    Дамп данных таблицы `players`
    --

    INSERT INTO `players` (`id`, `name`, `password`) VALUES
    (1'Old_Boy''???????');

    --
    -- 
    Индексы сохранённых таблиц
    --

    --
    -- 
    Индексы таблицы `players`
    --
    ALTER TABLE `players`
      
    ADD PRIMARY KEY (`id`);

    --
    -- 
    AUTO_INCREMENT для сохранённых таблиц
    --

    --
    -- 
    AUTO_INCREMENT для таблицы `players`
    --
    ALTER TABLE `players`
      
    MODIFY `idint(11NOT NULL AUTO_INCREMENTAUTO_INCREMENT=2;
    /*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
    /*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
    /*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */
    Ты ставил когда были «Иероглифы»?

  8. #7
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    Да ставил когда были иероглифы, потом они сменились на Вопросительные знаки. Решил попробовать создать новую DB и эффект такой же
    Последний раз редактировалось Nurick; 08.12.2015 в 21:03.

  9. #8
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Nurick Посмотреть сообщение
    Да ставил когда были иероглифы, потом они сменились на Вопросительные знаки. Решил попробовать создать новую DB и эффект такой
    Удали строку где были иероглифы, после чего, переставь кодировку в «cp_1251_general_ci», а потом снова зарегистрируй аккаунт.

    Дополнительный материал на habr
    Последний раз редактировалось VVWVV; 08.12.2015 в 17:14. Причина: --

  10. #9
    Аватар для Nurick
    Пользователь

    Статус
    Оффлайн
    Регистрация
    19.04.2014
    Адрес
    Уфа, Россия
    Сообщений
    319
    Репутация:
    52 ±
    Попробовал как ты сказал нечего не изменилось, так же Вопросительные знаки

  11. #10
    Аватар для VVWVV
    ?

    Статус
    Оффлайн
    Регистрация
    09.07.2015
    Сообщений
    731
    Репутация:
    353 ±
    Цитата Сообщение от Nurick Посмотреть сообщение
    Попробовал как ты сказал нечего не изменилось, так же Вопросительные знаки
    А у вас есть запрос, который говорит базе какую кодировку использовать?
    Если нет, то в OnGameModeInit напишите:
    PHP код:
    mysql_query(/* Подключение к базе данных */"set names utf8"); 

  12. Пользователь сказал cпасибо:
    Nurick (08.12.2015)
 

 
Страница 1 из 2 1 2 ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •