Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 24.07.2012, 10:38
Профессор
Отправить личное сообщение для Severtain Посмотреть профиль Найти все сообщения от Severtain
 
Регистрация: 25.04.2011
Сообщений: 280

Кодировка для работы с БД
Есть jQuery запросы, которые через PHP из базы возвращают
необходимые значение!
Столкнулся с проблемой, что английские тексты и символы работают, а когда использую русский возвращает "null"
На самой БД русский текст заносится, обрабатывается и работает адекватно, в чем может быть проблема ?
Ответить с цитированием
  #2 (permalink)  
Старый 24.07.2012, 10:53
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

используйте кодировку UTF-8 и не будет проблем
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 24.07.2012, 10:57
Профессор
Отправить личное сообщение для Severtain Посмотреть профиль Найти все сообщения от Severtain
 
Регистрация: 25.04.2011
Сообщений: 280

<meta http-equiv="Content-type" content="text/html;charset=UTF-8" />
это?
Ответить с цитированием
  #4 (permalink)  
Старый 24.07.2012, 10:57
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

сервер тоже должен работать с кодировкой UTF-8 и БД
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #5 (permalink)  
Старый 24.07.2012, 11:02
Профессор
Отправить личное сообщение для Severtain Посмотреть профиль Найти все сообщения от Severtain
 
Регистрация: 25.04.2011
Сообщений: 280

Окей ! И как мне понять, какая кодировка стоит на БД и как ее переставить?
Хостинг и Домен на ukraine.com.ua
Ответить с цитированием
  #6 (permalink)  
Старый 24.07.2012, 18:41
Профессор
Отправить личное сообщение для Маэстро Посмотреть профиль Найти все сообщения от Маэстро
 
Регистрация: 02.07.2010
Сообщений: 642

Сообщение от Severtain Посмотреть сообщение
И как мне понять, какая кодировка стоит на БД?
В программе управления базой myadmin (phpMyAdmin) есть страница, показывающая параметры кодировки Вашего MySQL.
Там на странице MySQL (в самом корне всех страниц) должно быть написано
Кодировка сервера: UTF-8 Unicode (utf8)
Сопоставление кодировки соединения с MySQL: utf8_general_ci
Ответить с цитированием
  #7 (permalink)  
Старый 24.07.2012, 19:14
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

либо

<?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'
Ответить с цитированием
  #8 (permalink)  
Старый 24.07.2012, 19:21
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

после подключения к базе
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;" );
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #9 (permalink)  
Старый 24.07.2012, 20:35
Аватар для x-yuri
Отправить личное сообщение для x-yuri Посмотреть профиль Найти все сообщения от x-yuri
 
Регистрация: 27.12.2008
Сообщений: 4,201

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'
Ответить с цитированием
  #10 (permalink)  
Старый 24.07.2012, 20:37
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

Сообщение от x-yuri
достаточно SET NAMES 'utf8'
увы но не всегда.. Были у меня проблемы с этим при использовании простого SET NAMES 'utf8', от того и стал делать так как написал выше.. Хуже от этого не стало, зато стабильно на любых настройках и любых базах работает.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ЧаВО - часто задаваемые вопросы (faq) Gozar Общие вопросы Javascript 212 21.09.2022 04:27
history рассширение для браузеров не поддерживающих pushState, replaceState devote Ваши сайты и скрипты 187 13.08.2015 10:40
JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений? Kotakota jQuery 5 23.08.2011 23:12
Класс для работы с ajax Slavenin AJAX и COMET 7 11.07.2011 12:20
Переодическое обновление значений для графика, функция для обновления значений yupa87 Общие вопросы Javascript 0 09.07.2009 14:48