Javascript-форум (https://javascript.ru/forum/)
-   Серверные языки и технологии (https://javascript.ru/forum/server/)
-   -   Записи в БД на русском языке (https://javascript.ru/forum/server/27957-zapisi-v-bd-na-russkom-yazyke.html)

9xakep 01.05.2012 14:51

Записи в БД на русском языке
 
Как сделать записи в БД на русском, что нужно сделать, где какие кодировки, уже часа 2 хожу по сайтам, в слепую тыкаю, но ничего не выходит:



9xakep 01.05.2012 15:20

Нашел решение, думаю многим понадобиться:
$con = mysql_connect('localhost', 'gmoryes_login', '*****'); // Подсоединяемся к БД
if(mysql_select_db('gmoryes_login', $con))
{      
// в самом начале прописываем это:
        mysql_query("SET CHARACTER SET cp1251")or die(mysql_error());
        mysql_query("SET NAMES cp1251")or die(mysql_error());
        mysql_query ("SET character_set_client='cp1251'");
        mysql_query ("SET character_set_results='cp1251'");
        mysql_query ("SET collation_connection='cp1251_general_ci'");

Gvozd 01.05.2012 15:53

Цитата:

Сообщение от 9xakep
Нашел решение, думаю многим понадобиться:

на скриншоте выше вы используете сравнение utf8_general_ci, а в коде используете кодировку cp1251
Такое решение будет работать не совсем корректно.
Использовать стоит сравнение из семейства соответсвующих используемой кодировке

И учитывая, что вы используете кодировку cp1251, то вы не сможете использовать символы не из латиницы и кириллицы
В вашем случае более странным, чем использование кириллицы для пароля, может показать использование только кириллицы и латиницы в пароле

9xakep 01.05.2012 17:17

Gvozd,
насколько я понял, ты хочешь сказать, что я не смогу использовать латиницу?

Да и это пока тупость, согласен, я просто хочу сделать чат, вот и задумался, как буду сообщения сохранять, и не стал создавать что-то новое, сделал все на странице регистрации, естественно потом все номрмально сделаю
P.S. не ты писал выше? 102-106 записи

Gvozd 01.05.2012 17:57

Цитата:

Сообщение от 9xakep
насколько я понял, ты хочешь сказать, что я не смогу использовать латиницу?

нет, я такого не говорил.
я сказал, что вы не сможете использовать ничего кроме кириллицы и латиницы
Например написать пароль на немецком или иврите
Цитата:

Сообщение от 9xakep
P.S. не ты писал выше? 102-106 записи

я даже не знаю где находится сайт для которого ты это делаешь
хотя сейчас начал догадываться что речь о твоем проекте в подписи

9xakep 01.05.2012 18:04

Gvozd,
пароль на иврите :blink:
=====
Cейчас поменял кодировку на ср1251, но немецкий все также не читается, или я опять тебя не так понял :write:
=====
Цитата:

хотя сейчас начал догадываться что речь о твоем проекте в подписи
да о нем, сейчас делаю возможность добавления аватарок)

Gvozd 01.05.2012 18:08

Цитата:

Сообщение от 9xakep
пароль на иврите

чем пароль на иврите хуже пароля на русском?
Цитата:

Сообщение от 9xakep
Cейчас поменял кодировку на ср1251, но немецкий все также не читается, или я опять тебя не так понял

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

9xakep 01.05.2012 18:12

Gvozd,
просто в жизни бы не догадался использовать пароль на иврите...тогда уж на китайском или японском лучше...правда без инета его не наберешь, если конечно не носить с собой его, чтобы скопировать
======
1) Не легче на js создать ограничения?
2) Как в случае чего добавить поддержку всех языков? Мне для сообщений понадобиться

Gvozd 01.05.2012 18:23

Цитата:

Сообщение от 9xakep
в жизни бы не догадался использовать пароль на иврите...

Но ведь на русском догадались)
Намекаю: пароль на любом национальном шрифте - глупость по определению. Но если уж и разрешать какой-нибудь из национальных шрифтов, то разрешать все языки.
Цитата:

Сообщение от 9xakep
1) Не легче на js создать ограничения?

у вас уже на уровне базы стоит ограничение
я говорю не о том, что вам нужно ввести проверку или поставить ограничение, а о том, что вы уже ввели весьма странное ограничение, выбрав кодировку cp1251 для пароля
Цитата:

Сообщение от 9xakep
Как в случае чего добавить поддержку всех языков? Мне для сообщений понадобиться

Выбрать кодировку UTF8, и одно из сравнений из семейства utf8_*, например utf8_general_ci
Если выберете однобайтовую кодировку, то поддерживать она будет только ограниченный список языков
Если выберете неправильное сравнение, то у вас будет неправильно работать выборка с сортировкой
PS кодировка и сравнение -разные вещи. в гугле об этом можно прочитать, если что

9xakep 01.05.2012 18:30

Цитата:

Сообщение от гвоздик
Но ведь на русском догадались)

Цитата:

Сообщение от хакер
Да и это пока тупость, согласен, я просто хочу сделать чат, вот и задумался, как буду сообщения сохранять, и не стал создавать что-то новое, сделал все на странице регистрации, естественно потом все номрмально сделаю

Цитата:

Сообщение от гвоздь
Выбрать кодировку UTF8

:D :D !pokerface! Я полдня просидел с utf-8, и это не смешно, и на ней не работал русский язык..были кракозябы


Часовой пояс GMT +3, время: 01:12.