PDA

Просмотр полной версии : [Вопрос] Русская кодировка в MysQL.



Роуди.
11.02.2016, 20:17
Вечер в хату, маленький вопросик появился: Как в базу данных занести русские символы?
Какие варианты только не пробывал, например в OnGameModeInit указывать кодировку и прочее.
В базе данных сравнение стоит cp1257_general_ci, но ставил так же utf8.
Пробывал это (http://pro-pawn.ru/showthread.php?12124-%D0%97%D0%B0%D0%BF%D0%B8%D1%81%D1%8C-%D1%80%D1%83%D1%81%D1%81%D0%BA%D0%B8%D1%85-%D1%81%D0%B8%D0%BC%D0%B2%D0%BE%D0%BB%D0%BE%D0%B2-%D0%B2-%D0%91%D0%94&highlight=%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0+mysql), и это (http://pro-pawn.ru/showthread.php?11595-%D0%9A%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0&highlight=%D0%BA%D0%BE%D0%B4%D0%B8%D1%80%D0%BE%D0%B2%D0%BA%D0%B0+mysql) в результате исход один: вопросительные знаки, вместо русского текста.

Кстати, информация записывается в бд с inputtext.

Help. :dash2:

Ray_Grand
11.02.2016, 20:51
Попробуйте в моде использовать кодировку cp1251:

mysql_set_charset("cp1251")

А в самой базе данных кодировка cp1251_general_ci.

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

_lizard
11.02.2016, 20:58
При подключении к базе данных:


SET NAMES cp1251;
SET SESSION character_set_server='utf8';

Роуди.
11.02.2016, 21:54
При подключении к базе данных:


SET NAMES cp1251;
SET SESSION character_set_server='utf8';


Читать топик не пробывали? Это все не помогло мне.

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


Попробуйте в моде использовать кодировку cp1251:

mysql_set_charset("cp1251")

А в самой базе данных кодировка cp1251_general_ci.

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

Не помогло..

_lizard
11.02.2016, 22:05
Читать топик не пробывали? Это все не помогло мне.

Это помогает всегда. Значит, вы что-то не так сделали

Роуди.
11.02.2016, 22:21
Это помогает всегда. Значит, вы что-то не так сделали

Например?

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

OnGameModeInit()

mysql_connect_ID = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
mysql_function_query(mysql_connect_ID, "SET NAMES cp1251", false, "", "");
mysql_function_query(mysql_connect_ID, "SET SESSION character_set_server='utf8'", false, "","");
Кодировка в denwer

cp1257_general_ci

$continue$
11.02.2016, 23:40
Например, так?


mysql_set_charset("utf8_bin");
mysql_function_query(handle, "SET NAMES 'utf8'", false, "", "");
mysql_function_query(handle, "SET CHARACTER SET 'cp1251'", false, "", "");

Роуди.
12.02.2016, 11:52
Например, так?


mysql_set_charset("utf8_bin");
mysql_function_query(handle, "SET NAMES 'utf8'", false, "", "");
mysql_function_query(handle, "SET CHARACTER SET 'cp1251'", false, "", "");


Так же вопросы..

Wise
12.02.2016, 12:37
Попробуй.

mysql_connect_ID = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
mysql_function_query(mysql_connect_ID, "SET NAMES cp1251", true, "", "");
Это должно работать. В базе данных измени кодировку на:

ut8_general_ci
Если у вас не работает, значит что-то не так делаете. У меня при таких настройках отображаются русские и английские символы. Никаких вопросов нет.

wAx
12.02.2016, 13:39
"русская кодировка" - прикололо)

в общем кодировка в бд должна быть utf8, а при коннекте в моде указываться cp1251, слышал что это костыль, но к сожалению другого способа не знаю.

Роуди.
12.02.2016, 15:16
...

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

Закрывайте тему, спасибо.


Попробуй.

mysql_connect_ID = mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_DATABASE, MYSQL_PASSWORD);
mysql_function_query(mysql_connect_ID, "SET NAMES cp1251", true, "", "");
Это должно работать. В базе данных измени кодировку на:

utf8_general_ci
Если у вас не работает, значит что-то не так делаете. У меня при таких настройках отображаются русские и английские символы. Никаких вопросов нет.