X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Как бороться с ошибкой в MySQL
pingvin_hb
pingvin_hb
Topic Starter сообщение 19.9.2011, 0:06; Ответить: pingvin_hb
Сообщение #1


При выводе из БД с установленном ENGINE=MyISAM DEFAULT CHARSET=utf8 , вместо ‘ш’ код utf8 первый байт = 209 второй байт 136 , выдаёт первый байт = 209 второй байт 63 =‘?’, проверено в версиях 5.0.7 (php5.3.3) и 4.1.25 (php4.4.9). Как с этим бороться?

Простейшая программа, показывающая эту ошибку
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Mulder_hb
Mulder_hb
сообщение 19.9.2011, 10:48; Ответить: Mulder_hb
Сообщение #2


Так вы кодировки правильно настройте сперва.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Arks
Arks
сообщение 19.9.2011, 23:20; Ответить: Arks
Сообщение #3


код в студию.
1. Конфиг сервера(дефолтный charset/collation)
2. Кофиг таблицы (DROP+CREATE)
3. Клиентский код(запрос к mysql+постобработка)

p.S. а вы не пробовали myIsam'овский файлик открыть и посмотреть что там за символ в данном месте? попробуйте, ради интереса... Потом раскажете.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pingvin_hb
pingvin_hb
Topic Starter сообщение 20.9.2011, 12:47; Ответить: pingvin_hb
Сообщение #4


Если в прогу добавлять запрос: "SET NAMES 'utf8'” или 8 запросов(в первый раз): "set character_set_client='utf8'"; “set character_set_connection='utf8'";"set character_set_results='utf8'";"set character_set_database='utf8'"; "set character_set_server='utf8'"; "set collation_connection='utf8_general_ci'"; "set collation_database='utf8_general_ci'"; “set collation_server='utf8_general_ci'" – делающие все переменные character_set_... и collation_... отличными от 'utf8’ ими самыми. То русские символы кодируются : первый байт - 208 , а 161 - второй байт , а иначе кроме буквы ш как в блокноте. После второго запуска (запросы были впереди программы) 8 запросов (после убирания 8 запросов, опять портится), переменные все полученные по запросам "SHOW VARIABLES LIKE '%collat%'" и "SHOW VARIABLES LIKE '%char%'" становятся нормальными (с utf8), и буква ш стала нормально выводится.
(Arks @ 20.9.2011, 02:20) *
код в студию.
1. Конфиг сервера(дефолтный charset/collation)
2. Кофиг таблицы (DROP+CREATE)
3. Клиентский код(запрос к mysql+постобработка)

Код и ответы на три вопроса, кроме 1, есть в моём первом посте.
(Arks @ 20.9.2011, 02:20) *
p.S. а вы не пробовали myIsam'овский файлик открыть и посмотреть что там за символ в данном месте? попробуйте, ради интереса... Потом расскажете.
Теоретически – был плохой.
С помощью phpmyadmin сейчас нормальный вид, а с помощью специально написанной программы, которая в 1251 кодировке нормально работала, раньше была вместо ш - ерунда. Кстати в кодировке 1251 всё было и есть в норме, но заказчик попросил. Т.е. каждый раз надо делать настройку таблицы. Всем спасибо.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pingvin_hb
pingvin_hb
Topic Starter сообщение 20.9.2011, 16:51; Ответить: pingvin_hb
Сообщение #5


Не на локальном (Денвер) не на удалённом серверах нет my.ini . Выполнил все 8 запросов, переписал БД, а то в ней тоже был код похожий на исходник utf8.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
pingvin_hb
pingvin_hb
Topic Starter сообщение 17.11.2011, 16:48; Ответить: pingvin_hb
Сообщение #6


Для настроек MySQL для работы в нужной кодировке можно использовать следующую команду: Если команда mysql_set_charset выполняется, то она, а иначе запрос SET NAMES …[PHP] if (@mysql_set_charset('utf-8')==false) mysql_query ("SET NAMES 'utf8'"); // настройка MySQL для работы в UTF8[/PHP]

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Арбитражники, как ведете учет расходов и доходов?
12 Boymaster 1920 Вчера, 21:03
автор: MisterBit
Горячая тема (нет новых ответов) Как вывести деньги в Украине с заблокированного Юмани ?
29 freeax 4814 17.4.2024, 1:19
автор: sergio11
Горячая тема (нет новых ответов) Как вы отдыхаете от работы за компом
148 adw-kupon.ru 19712 8.4.2024, 10:37
автор: Skyworker
Открытая тема (нет новых ответов) Как вы бросили работу и перешли на заработок с сайтов?
18 uahomka 3104 5.4.2024, 5:53
автор: Skyworker
Горячая тема (нет новых ответов) Как бездомные хранят деньги?
81 metvekot 13657 31.3.2024, 12:44
автор: Boymaster


 



RSS Текстовая версия Сейчас: 20.4.2024, 4:13
Дизайн