Подскажите с одной проблемой при использовании UTF
186 сообщений
#14 лет назад
Колеги подскажите пожалуйста с одной проблемой:База данных MySQL- в кодировке UTF-8, средствами ПХП извлекаю даннные по обычному запросу "SELECT..." преобразовываю с помощью mysql_fetch_array... Выдаю в браузер командой echo ... в браузер вместо руских букв идут знаки вопросов, то же самое и при попытки записать в файл.
Настройки БД менять нельзя так как она работает под Шоп-скриптом.
Подкажите как получать корректные даные из БД в русских символах, хоть в какой нибудь кодировке...
Заранее спасибо!
67 сообщений
#14 лет назад
Цитата ("spymen"):хоть в какой нибудь кодировке...
Так в какой надо?
В этом случае на вывод/запись у Вас идут данные в той же кодировке, в которой они у Вас хранятся в базе (UTF-8).
Значит, при выводе на страницу: надо указать в какой кодировке ваши данные (<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

При выводе в файл: в последствии просматривать файл редактором поддерживающим UTF-8.
Либо, если Вам будет более удобна какая-нибудь Windows-1251 - используйте iconv для преобразования кодировки.
Если же Вы уверены, что уже из базы приходят знаки вопросов, попробуйте после подключения к базе сделать согласование соединения с помощью SET NAMES, в Вашем случае:
mysql_query ('SET NAMES UTF8');
Если не поможет, пробуйте:
mysql_query ("set character_set_client='utf8'");
mysql_query ("set character_set_results='utf8'");
mysql_query ("set collation_connection='utf8_general_ci'");
63 сообщения
#14 лет назад
Скрипт которым вы извлекаете и выводите сохроните в коделовке UTF-8 и будит вам счастье 
67 сообщений
#14 лет назад
Цитата ("Inviseble_Demon"):Скрипт которым вы извлекаете и выводите сохроните в коделовке UTF-8 и будит вам счастье
Да, но жаль, что не всегда

63 сообщения
#14 лет назад
Цитата ("CraFL"):Цитата ("Inviseble_Demon"):Скрипт которым вы извлекаете и выводите сохроните в коделовке UTF-8 и будит вам счастье
Да, но жаль, что не всегда
Человеку просто нужно вывести данные из мускула на экран ! Думаю перегонкой исходника в требуюмую кодеровку наиболее быстрый и просто метод.
Хотя может я чего и не понимаю. Лично я часто сталкивался с тем что нужно вывести просто данные на экран а перекодировать их это и строки кода и время на их написание проще фаил со скриптом перегнать в (UTF-8 обычно )) ) и после просмотра просто закоментить вывод !
Но тут хозяин барин

897 сообщений
#14 лет назад
Цитата ("spymen"):База данных MySQL- в кодировке UTF-8
my.cnf:
default-character-set = cp1251
init-connect = "set names cp1251"
рестарт mysqld, заново заливаем БД без указания кодировки при импорте.