|
|
|
| Дано: скрипт, сайт - в юникоде. Пишем в БД "ширли-мырли", при выводе получаем "?ирли-мырли".
Почему БД не принимает букву "ш"?
Доп. сведения:
Проблем нет, если ишем из поля Input, а если это textarea - то глючит, собака. | |
|
|
|
|
|
|
|
для: Zilog
(12.05.2009 в 17:13)
| | Проверьте чтобы кодировка поля куда записывает textarea была такой же как и та куда записывает Input | |
|
|
|
|
|
|
|
для: Qiao
(12.05.2009 в 18:56)
| | >Проверьте чтобы кодировка поля куда записывает textarea была такой же как и та куда записывает Input
Да. Разницу увидел: в случае input стоит utf8_unicode_ci, для textarea стоит cp1251_general_ci. Для таблицы в целом, в обоих случаях стоит utf8_unicode_ci.
Поменял, как рекомендовали - заработало. Спасибо.
Однако ж, для меня осталось неясно, что происходит - стоит же Юникод, чего ему нехватало? А если я планирую поле использовать для нескольких языков - что тогда??? | |
|
|
|
|
автор: 2to32thpower (13.05.2009 в 00:57) |
|
|
для: Zilog
(12.05.2009 в 22:56)
| | Таки и используйте unicode, ведь он для всех языков. ну может быть кроме эльфийского | |
|
|
|
|
|
|
|
для: 2to32thpower
(13.05.2009 в 00:57)
| | >Таки и используйте unicode, ведь он для всех языков. ну может быть кроме эльфийского
Так и использую! Но тогда возникает прблема с буквой "ш".... | |
|
|
|
|
|
|
|
для: Zilog
(13.05.2009 в 12:54)
| | Никаких проблем не будет если в MySQL выбрана правильная кодировка.
Когда создаёте базу ставьте кодироввку полей по умолчанию utf. Или вручную не забывайте переделать когда таблицу новую создаёте.
Скоро все сайты будут только в юникоде. | |
|
|
|
|
|
|
|
для: Qiao
(13.05.2009 в 14:09)
| | >Никаких проблем не будет если в MySQL выбрана правильная кодировка.
Всё в юникоде. Скрипт в юникоде. Сайт в браузере отображается в юникоде. И есть проблема буквы "ш". Но если формат поля, где храниться текст - сделать таким, как описано выше - проблема снимается, и всё работает "на ура".
Вопрос - почему так? А то, что юникод всему голова, и так понятно. | |
|
|
|
|
автор: @@@ (13.05.2009 в 21:49) |
|
|
для: Zilog
(13.05.2009 в 21:32)
| | у вас cp1251_general_ci и вы не понимаете почему крошаться некоторые символы utf8? потому что cp1251 != utf8, отсюда можно что угодно ожидать | |
|
|
|
|
|
|
|
для: @@@
(13.05.2009 в 21:49)
| | >у вас cp1251_general_ci и вы не понимаете почему крошаться некоторые символы utf8? потому что cp1251 != utf8, отсюда можно что угодно ожидать
Да. Не понимаю. Потому как если стоит Юникод - проблема есть, cp1251_general_ci - проблемы нет. Несмотря на то, что сайт, скрипт, ввод данных - всё в Юникоде происходит. А вы понимаете отчего так? Если да, будьте добры, обьясните. | |
|
|
|
|
|
|
|
для: Zilog
(14.05.2009 в 12:23)
| | Господа, может всётаки кто-то в курсе, в чем проблема? | |
|
|
|
|
|
|
|
для: Zilog
(14.05.2009 в 15:29)
| | У вас mysql_query("SET NAMES 'utf8'") есть?
И как именно называется кодировка, с которой проблема? | |
|
|
|
|
|
|
|
для: Qiao
(14.05.2009 в 16:51)
| | >У вас mysql_query("SET NAMES 'utf8'") есть?
>
>И как именно называется кодировка, с которой проблема?
Вот, вот именно то, чего так нехватало. Спасибо, любезнейший. | |
|
|
|
|
|
|
|
для: Zilog
(14.05.2009 в 15:29)
| | в файле подключения к бд прописываете
$conn= @mysql_connect ($server, $login, $password);
mysql_query("SET NAMES 'utf8'");
mysql_query("SET collation_connection = 'UTF-8_general_ci'");
mysql_query("SET collation_server = 'UTF-8_general_ci'");
mysql_query("SET character_set_client = 'UTF-8'");
mysql_query("SET character_set_connection = 'UTF-8'");
mysql_query("SET character_set_results = 'UTF-8'");
mysql_query("SET character_set_server = 'UTF-8'");
$db_use = @mysql_select_db ($bdname']);
и в БД проверяете, чтобы кодировка таблицы и текстовых полей была UTF-8_general_ci | |
|
|
|