Ну так это не значит, что и у всех остальных своя серверная :)
Делать свой код устойчивым к ошибкам - хороший тон среди программистов. Так что пара дополнительных запросов для перестраховки не будут лишними :)
Вид для печати
Этих двух запросов должно целиком и полностью хватить для хранения русского текста в базе (с учётом того, что Вы никак не правили остальные настройки кодировки и они выставлены по умолчанию или же настроены правильно):
mysql_query(var_connection, "SET character_set_client = 'cp1251'", false);// Определяем кодировку для запросов от сервера SA-MP к базе mysql_query(var_connection, "SET character_set_results = 'cp1251'", false);// Определяем кодировку от базы данных к нашему серверу SA-MP
Как минимум, вся та каша из запросов, что даёт $continue$, точно не нужна.
P.S. Всё это подкреплено лишь моим маленьким "расследованием" (копанием документации) и простыми тестами на локальном сервере с дефолтными настройками MySQL, так что было бы неплохо проверить все мои доводы в более разных условиях, дабы уже окончательно отшлифовать код, если вдруг я чего-то не учёл.
Засим я откланиваюсь :thank_you: Надеюсь, что у меня получилось понятно объяснить Вам назначение перечисленных опций. Спасибо за внимание
Не могу разобраться с кодировкой.
Если использовать такой вариант:
То в БД русские символы записываются без проблем, но при запросах к БД - русские символы в виде иероглифов.PHP код:
mysql_tquery(dbHandle, "SET character_set_client = 'cp1251'");
mysql_tquery(dbHandle, "SET character_set_results = 'cp1251'");
Если использовать такой вариант:
То если записываем в БД русские символы - они просто отсутствуют вообще, но если запрос идёт на получение данных с БД - то всё в порядке.PHP код:
mysql_query(dbHandle, "SET character_set_client = 'cp1251'", false);
mysql_query(dbHandle, "SET character_set_results = 'cp1251'", false);
Требуется помощь, пожалуйста.
Версия: R41-4
Кодировка и у столбцов и у бд utf8_general_ci.
При этом я заметил, что если я устанавливаю настройки, используя mysql_query и затем отправляю запрос, используя эту же функцию - то всё работает, русские символы записываются в бд. Но если отправить запрос используя mysql_tquery (если настройки установлены с использованием mysql_query) - то русские символы уже не пишутся. Это только у меня такой бред или зависимость есть какая то?
Ты можешь сам нагуглить описание всех запросов и посмотреть как они воспринимаются БД :) От того, что ты по несколько раз одни и те же опции перезапишешь, БД лучше работать точно не станет.
У тебя проблема могла быть в том, что ты сначала записал текст в кривой кодировке, после уже этими запросами настроил кодировку правильно, но данные остались в кривой кодировке и БД, пытаясь их конвертировать из utf8 в cp1251, естественно выдавала бы кашу.