Кодировка для работы с БД
Есть jQuery запросы, которые через PHP из базы возвращают
необходимые значение! Столкнулся с проблемой, что английские тексты и символы работают, а когда использую русский возвращает "null" На самой БД русский текст заносится, обрабатывается и работает адекватно, в чем может быть проблема ? |
используйте кодировку UTF-8 и не будет проблем
|
<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
это? |
сервер тоже должен работать с кодировкой UTF-8 и БД
|
Окей ! И как мне понять, какая кодировка стоит на БД и как ее переставить?
Хостинг и Домен на ukraine.com.ua |
Цитата:
Там на странице MySQL (в самом корне всех страниц) должно быть написано Кодировка сервера: UTF-8 Unicode (utf8) Сопоставление кодировки соединения с MySQL: utf8_general_ci |
либо
<?php mysql_connect('localhost', USER, PASSWORD); $r = mysql_query("SHOW VARIABLES LIKE 'character_set%'"); echo '<table>'; while ($row = mysql_fetch_row($r)) { echo '<tr>'; foreach ($row as $value) { echo '<td>' . $value; } } echo '</table>'; character_set_client, character_set_connection и character_set_results должно быть utf8. Если не utf8, тогда надо после подключения выполнить запрос: SET NAMES 'utf8' |
после подключения к базе
mysql_query( "set session character_set_client=utf8;" ); mysql_query( "set session character_set_database=utf8;" ); mysql_query( "set session character_set_connection=utf8;" ); mysql_query( "set session character_set_results=utf8;" ); mysql_query( "set session collation_connection=utf8_general_ci;" ); |
character_set_database - character set текущей БД, если ее и можно изменить, смысла в этом нету
set session character_set_connection=utf8; подразумевает set session collation_connection=utf8_general_ci; потому что utf8_general_ci - collation по умолчанию для character set utf8 SET по умолчанию изменяет переменные сессии, поэтому модификатор SESSION не обязательно указывать достаточно SET NAMES 'utf8' |
Цитата:
|
Часовой пояс GMT +3, время: 12:21. |