Добро пожаловать на Pro Pawn - Портал о PAWN-скриптинге.
Страница 1 из 4 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 32
  1. #1
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±

    Решение проблемы с кодировкой в MySQL | R33+

    Доброго времени суток! В интернете есть много решение данной проблемы (на форумах по Pawn), но они то не работают, то выбивают ошибку в лог. Пример кода при котором в лог идет ошибка:
    PHP код:
    mysql_set_charset(!"utf8_bin");
    mysql_function_query(MYSQL_ARG, !"SET NAMES 'utf8'"false"""");
    mysql_function_query(MYSQL_ARG, !"SET CHARACTER SET 'cp1251'"false""""); 
    Ошибка в логах:
      Открыть/закрыть



    Решение данной проблемы я все таки добился. И хочу поделиться с Вами: (до версии R40)
    PHP код:
    SetMySQLEncoding(var_connection)
    {
        
    mysql_function_query(var_connection, !"SET CHARACTER SET 'utf8'"false"""");
        
    mysql_function_query(var_connection, !"SET NAMES 'utf8'"false"""");
        
    mysql_function_query(var_connection, !"SET character_set_client = 'cp1251'"false"""");
        
    mysql_function_query(var_connection, !"SET character_set_connection = 'cp1251'"false"""");
        
    mysql_function_query(var_connection, !"SET character_set_results = 'cp1251'"false"""");
        
    mysql_function_query(var_connection, !"SET SESSION collation_connection = 'utf8_general_ci'"false"""");

    После версии R40:
    PHP код:
    SetMySQLEncoding(MySQL:var_connection)
    {
        
    mysql_tquery(var_connection, !"SET CHARACTER SET 'utf8'""""");
        
    mysql_tquery(var_connection, !"SET NAMES 'utf8'""""");
        
    mysql_tquery(var_connection, !"SET character_set_client = 'cp1251'""""");
        
    mysql_tquery(var_connection, !"SET character_set_connection = 'cp1251'""""");
        
    mysql_tquery(var_connection, !"SET character_set_results = 'cp1251'""""");
        
    mysql_tquery(var_connection, !"SET SESSION collation_connection = 'utf8_general_ci'""""");

    Пример использование (сразу после mysql_connect):
    PHP код:
    SetMySQLEncoding(mysql_connect_ID); // Где mysql_connect_ID - Подключение к базе данных 
    Почитать о character_set.
    Возможно у Вас есть более простое решение данной проблемы. Я буду рад если Вы поделитесь решением.
    Последний раз редактировалось $continue$; 20.10.2016 в 15:29.

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

    Статус
    Оффлайн
    Регистрация
    22.04.2013
    Адрес
    Краснодар
    Сообщений
    292
    Репутация:
    23 ±
    Очень полезный урок, Данил очень помог мне :)

  3. #3
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,347
    Репутация:
    1630 ±
    PHP код:
    SetEncodingMySQL(var_connection

        
    mysql_function_query(var_connection, !"SET CHARACTER SET 'utf8'"false""""); 
        
    mysql_function_query(var_connection, !"SET NAMES 'utf8'"false""""
        
    mysql_function_query(var_connection, !"SET character_set_client = 'cp1251'"false""""); 
        
    mysql_function_query(var_connection, !"SET character_set_connection = 'cp1251'"false""""); 
        
    mysql_function_query(var_connection, !"SET character_set_results = 'cp1251'"false""""); 
        
    mysql_function_query(var_connection, !"SET SESSION collation_connection = 'utf8_general_ci'"false""""); 

    Точки с запятой нет в конце :)
    PHP код:
    mysql_function_query(var_connection, !"SET NAMES 'utf8'"false""""
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  4. Пользователь сказал cпасибо:
    $continue$ (19.03.2016)
  5. #4
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Thank, DeimoS. Fix, update.

  6. #5
    Аватар для Daniel_Cortez
    new fuck_logic[0] = EOS;

    Статус
    Оффлайн
    Регистрация
    06.04.2013
    Адрес
    Novokuznetsk, Russia
    Сообщений
    1,785
    Репутация:
    2277 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Thank, DeimoS. Fix, update.
    "Благодарить, DeimoS. Исправлять, обновлять."
    Lol'd.
    Индивидуально в PM и Skype по скриптингу не помогаю. Задавайте все свои вопросы здесь (click).
    SA-MP 0.4 is a lie

  7. 2 пользователя(ей) сказали cпасибо:
    Desulaid (23.03.2016)Mexanizm (17.05.2018)
  8. #6
    Аватар для DeimoS
    Модератор?

    Статус
    Оффлайн
    Регистрация
    27.01.2014
    Адрес
    Восточный Мордор
    Сообщений
    4,347
    Репутация:
    1630 ±
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    "Благодарить, DeimoS. Исправлять, обновлять."
    Lol'd.
      Открыть/закрыть
    Связаться со мной можно в личных сообщениях этой группы

    Широко известно, что идеи стоят 0.8333 цента каждая (исходя из рыночной цены 10 центов за дюжину).
    Великих идей полно, на них нет спроса.
    Воплощение идеи в законченную игру требует долгой работы,
    таланта, терпения и креативности, не говоря уж о затратах денег, времени и ресурсов.
    Предложить идею просто, воплотить – вот в чём проблема

    Steve Pavlina

  9. #7
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Да, да ты опять поймал меня с плохим знанием English/Russian Language :(
    Цитата Сообщение от Daniel_Cortez Посмотреть сообщение
    "Благодарить, DeimoS. Исправлять, обновлять."
    Lol'd.

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

    Статус
    Оффлайн
    Регистрация
    29.11.2013
    Сообщений
    65
    Репутация:
    5 ±
    Уже давно как-то сделал только это:
    PHP код:
    mysql_function_query(base, !"SET NAMES cp1251"false"""" ); 
    И никаких "???????" нету.

  11. #9
    Аватар для $continue$
    Заблокирован

    Статус
    Оффлайн
    Регистрация
    02.08.2014
    Адрес
    г. Киров (aka Вятка)
    Сообщений
    1,466
    Репутация:
    265 ±
    Включи полное логирование (HTML формат) и скинь логи. Вот только сервер под управлением Linux
    Цитата Сообщение от seriu Посмотреть сообщение
    Уже давно как-то сделал только это:
    PHP код:
    mysql_function_query(base, !"SET NAMES cp1251"false"""" ); 
    И никаких "???????" нету.
    Последний раз редактировалось $continue$; 03.06.2016 в 21:54.

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

    Статус
    Оффлайн
    Регистрация
    29.11.2013
    Сообщений
    65
    Репутация:
    5 ±
    Цитата Сообщение от $continue$ Посмотреть сообщение
    Включи полное логирование (HTML формат) и скинь логи. Вот только сервер под управлением Linux
    http://i.imgur.com/MofrHLe.png
    https://yadi.sk/d/r2ZnXERmsF9rW
    хостинг: myarena ( linux )
    п.с я сделал отдельную таблицу для команды "/su" т.е записывается в бд "wanted" причину
    "11:41:05 CMySQLResult::GetRowDataByName OK row: '0', field: "Reason0", data: "ÒÅÑÒ ïàì ïàì "
    Но, на сервере все отображается как нужно.
    Последний раз редактировалось seriu; 04.06.2016 в 11:52.

 

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

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

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

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

Ваши права

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