Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2011, 10:02   #1
Aleskandr
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 82
По умолчанию Кодировка данных

Отправляю данные из формы в базу MySQL. Потом пытаюсь просмотреть отправленные данные с помощью phpmyAdmin или Navicat Lite. Если отправлялись английские символы, то отображается нормально, если русские, то выводит кракозыбры.

В форме задан параметр accept-charset="utf-8"
База создана запросом "CREATE DATABASE IF NOT EXISTS Data CHARACTER SET utf8 COLLATE utf8_general_ci"

Да и вообще везде где только можно уже прописал кодировку utf-8
.htaccess со строчкой AddDefaultCharset utf-8 в корне хранится.
Конфигурационный файл апача также изменен на utf-8.
Заголовки прописаны.
Подскажите в чем может быть дело?

Последний раз редактировалось Aleskandr; 05.07.2011 в 10:06.
Aleskandr вне форума Ответить с цитированием
Старый 05.07.2011, 10:14   #2
KPEATuBHO
Форумчанин
 
Аватар для KPEATuBHO
 
Регистрация: 03.09.2010
Сообщений: 197
По умолчанию

попробуйте
Код:
mysql_set_charset('utf8');
в скрипте который пишет в базу. Вообще я, используя следующий вариант:

Код:
mysql_connect($host,$user,$password);
mysql_select_db($db_name);
mysql_set_charset('utf8');
никогда с проблемами неправильной записи в БД не сталкивался.
KPEATuBHO вне форума Ответить с цитированием
Старый 05.07.2011, 10:32   #3
Aleskandr
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 82
По умолчанию

Код:
mysql_set_charset('utf8');
Не помогает
Aleskandr вне форума Ответить с цитированием
Старый 05.07.2011, 11:02   #4
Никки
Форумчанин Подтвердите свой е-майл
 
Аватар для Никки
 
Регистрация: 20.11.2007
Сообщений: 500
По умолчанию

А так?
Код:
mysql_query("SET NAMES utf8")
Ваша страничка должна так же иметь кодировку UTF-8, лучше всего отправить заголовок:
Код:
header ('Content-type: text/html; charset=utf-8');
Никки вне форума Ответить с цитированием
Старый 05.07.2011, 11:31   #5
Aleskandr
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 82
По умолчанию

Код:
mysql_query("SET NAMES utf8")
Тоже не работает.
Проверил с помощью функции mb_detect_encoding() кодировку передаваемых в базу и принимаемых из базы данных. Причем проверил на каждом участке обработки данных. Везде UTF-8
Вот блин задачка попалась.
Aleskandr вне форума Ответить с цитированием
Старый 05.07.2011, 11:58   #6
mrgrudge
Форумчанин
 
Аватар для mrgrudge
 
Регистрация: 20.02.2010
Сообщений: 229
По умолчанию

Цитата:
Сообщение от Aleskandr Посмотреть сообщение
Код:
mysql_query("SET NAMES utf8")
Тоже не работает.
Проверил с помощью функции mb_detect_encoding() кодировку передаваемых в базу и принимаемых из базы данных. Причем проверил на каждом участке обработки данных. Везде UTF-8
Вот блин задачка попалась.
тогда
$sql = iconv($in_charset,$out_charset,$sql );
$result = mysql_query($sql);
думай как баг, действуй как баг, и ты найдешь баг )
mrgrudge вне форума Ответить с цитированием
Старый 05.07.2011, 12:26   #7
Johnatan
Antimoderаtoris
Участник клуба
 
Регистрация: 08.02.2008
Сообщений: 1,251
По умолчанию

Таблицы и ячейки тоже в UTF8? Проверьте.
98% из тысячи моих постов сделаны в профильном подфоруме. Я не накручиваю свои посты болтанием в "курилке", а ты?
Johnatan вне форума Ответить с цитированием
Старый 05.07.2011, 17:25   #8
Aleskandr
Пользователь
 
Регистрация: 13.02.2011
Сообщений: 82
По умолчанию

Цитата:
Сообщение от Johnatan Посмотреть сообщение
Таблицы и ячейки тоже в UTF8? Проверьте.
Проверил. Всё в UTF-8
Aleskandr вне форума Ответить с цитированием
Старый 05.07.2011, 20:55   #9
Arassir
Форумчанин
 
Аватар для Arassir
 
Регистрация: 23.10.2008
Сообщений: 230
По умолчанию

Может поможет:
сохрани страницу со скриптом в формате UTF8

Если есть notepud++, то для того чтобы сменить кодировку необходимо выбрать в меню Encoding пункт Encode in UTF 8 without BOM. Только перед сменой кодировки скопируй все данные скрипта в буфер, смени кодировку и вставь скрипт.

Еще как вариант посмотри поддерживает ли MySql кодировку UTF8, т.е. есть ли у нее файл с этой кодировкой в папку charset.
Arassir вне форума Ответить с цитированием
Старый 05.07.2011, 22:28   #10
Яр|/||< (^_^)
LosYear
Форумчанин
 
Аватар для Яр|/||< (^_^)
 
Регистрация: 19.06.2009
Сообщений: 695
По умолчанию

попробуй .htacsess положить в корень
Цитата:
# Выключить обработку модулем mod_charset
<IfModule mod_charset.c>
CharsetDisable On
</IfModule>
# Выставить кодировку по умолчанию стандартными средствами apache
AddDefaultCharset UTF-8
или ещё строку добавь в этот .htacsess
Цитата:
php_value default_charset utf-8
Яр|/||< (^_^) вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при получении данных из WEB Никки Общие вопросы по Java, Java SE, Kotlin 3 28.12.2013 19:17
База данных MySQL и кодировка! nikolai_P SQL, базы данных 3 17.11.2009 22:50
Кодировка при вводе данных через php-myadmin и sql запросы serg-php PHP 4 27.09.2009 17:03
Кодировка передачи данных в Word Flame_of_Death Общие вопросы Delphi 3 14.07.2009 12:25
База данных и кодировка RIO Общие вопросы Delphi 2 21.05.2009 11:08