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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 16.08.2011, 16:13   #1
Seran4ek
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 94
По умолчанию странные вещи с кодировки

добрый день
мучаюсь битый час над кодировки в базах-сервере и выводе на страницу
итак
в my.ini заменил весь унылый cp1251 на UTF8.
при создании базы в пхпмайадмин вижу следующее:
http://clip2net.com/s/179wN
и
http://clip2net.com/s/179x3 (кстати сказать, в инфе о мускуле UTF-8 писало даже когда в май.ини лежал cp1251, не знаю почему)

ЗАМЕТКА: в папке charset файла utf8.xml нету, но видел, что это не беда

самое интересное:
при отправке данных я делал вот так
PHP код:
mysql_query('SET NAMES utf8'); 
при этом строки в таблице пхпмайадмин были нормальными, но при чтении их с базы на страницу html - знаки вопроса
закомментировал эту строку и о чуда, на страницу читается в нормальном виде, НО приэтом в пхпмайадмин выглядят вот так:
http://clip2net.com/s/179za

кодировка страницы на котурую выводу utf8
кодировка скрипта добавления записи - usf8(без BOM)

в итоге работать то работает, но я не пойму, почему так происходит в пхпмаадмин и выводе

UPD: если
Код:
mysql_query('SET NAMES utf8');
написать и при записи в базу и при чтении из нее - то в базе пхпмайадмин и на выводе стреницы нормальные буквы.
но ведь и так стоит кодировка полей и таблиц, должно и без сетнеймс работать, по идее

Последний раз редактировалось Seran4ek; 16.08.2011 в 16:29.
Seran4ek вне форума Ответить с цитированием
Старый 16.08.2011, 22:15   #2
Seran4ek
Пользователь
 
Регистрация: 14.10.2009
Сообщений: 94
По умолчанию

никаких соображений, господа?
Seran4ek вне форума Ответить с цитированием
Старый 17.08.2011, 07:03   #3
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Есть подозрение, что данные в базе сохранены в другой кодировке. Проверьте.
Виталий Желтяков вне форума Ответить с цитированием
Старый 17.08.2011, 11:11   #4
Jakethefish
Форумчанин
 
Регистрация: 13.11.2009
Сообщений: 121
По умолчанию

Сам сталкивался с таким. У меня БД стоит utf8_general_ci. Но при записи и при чтении приходится делать SET NAMES
Jakethefish вне форума Ответить с цитированием
Старый 17.08.2011, 12:40   #5
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
Сообщение от Jakethefish Посмотреть сообщение
Сам сталкивался с таким. У меня БД стоит utf8_general_ci. Но при записи и при чтении приходится делать SET NAMES
У Вас другой случай - не до конца произведена настройка сервера. В конфиге сервера должны быть следующие строки:
Код:
default-character-set=utf8
character-set-server=utf8
collation-server=utf8_general_ci
init-connect="SET NAMES utf8"
skip-character-set-client-handshake
Виталий Желтяков вне форума Ответить с цитированием
Старый 17.08.2011, 12:46   #6
Jakethefish
Форумчанин
 
Регистрация: 13.11.2009
Сообщений: 121
По умолчанию

Ну да, точно
Jakethefish вне форума Ответить с цитированием
Старый 17.08.2011, 13:54   #7
8oOoRPM
Форумчанин
 
Регистрация: 12.11.2010
Сообщений: 146
По умолчанию

PHP код:
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'"); 
- при подключении, и будет вам счастье...
8oOoRPM вне форума Ответить с цитированием
Старый 17.08.2011, 15:32   #8
Виталий Желтяков
Старожил
 
Аватар для Виталий Желтяков
 
Регистрация: 19.04.2010
Сообщений: 2,702
По умолчанию

Цитата:
- при подключении, и будет вам счастье...
Так лучше не делать, а сразу настроить сервер (см. выше)
Виталий Желтяков вне форума Ответить с цитированием
Старый 18.08.2011, 08:58   #9
nightgremlin
 
Регистрация: 31.05.2011
Сообщений: 0
По умолчанию

Не стал создавать тему
Так ребята нужна помощь или я нуб.
Когда поменял в дримвивер кодировку на utf-8 в <meta> тоже указал, сохранил файл, но вот беда блок php(отдельный файл) с менюшками сохранился кракозябрами, а в браузерах выдаёт нормально. Так вот далее решил я поменять эти кракозябры на нормальные русские буквы, которые были изначально. И что вы думаете произошло? ...ня полная. В браузерах вместо русских букв вылезли кракозябры.
У кого есть размышления по этому поводу. Немогу ничего поделать.
Мой первый сайт - www.sdcvoy.ru
nightgremlin вне форума Ответить с цитированием
Старый 18.08.2011, 11:50   #10
Jakethefish
Форумчанин
 
Регистрация: 13.11.2009
Сообщений: 121
По умолчанию

В браузере стоит utf-8 на прием? Если именно крякозябры, а не знаки вопроса, значит должно быть все нормально, просто в браузере неправильно выводится, то есть надо поменять кодировку в браузере.
Jakethefish вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вещи, которые нас вдохновляют Levsha100 Свободное общение 21 25.01.2011 20:05
обьясните некоторые вещи... Леонид Студент Помощь студентам 2 18.01.2011 18:10
Полезные вещи для новичков... из С++ Chris D Общие вопросы C/C++ 3 09.09.2010 20:34
Непонятные вещи в Project VBA Jetronic Microsoft Office Excel 2 29.10.2009 08:56