всем привет,собственно,вот тут http://www.shkurki.ru/modules.php?n...er=asc&start=15
отписался,сил нет уже бороться с кодировками.В двух словах,после многочисленных манипуляций с базами,их кодировками и пр. весь сайт отображается нормально,кроме галереи 4images и flahchat-а,где остались еще недобитые знаки вопросов. Все предложенные методы решения на всех форумах применял - результат тот же.Что нибудь похожее у кого - то было уже?Где -то есть варианты еще покопать?Если кому есть что сказать - очень жду,пожалуйста!!!! |
Notice
Notice: ob_end_clean(): failed to delete buffer. No buffer to delete. in D:\usr\Apache\htdocs\mainfile.php on line 44
Notice: import_request_variables(): No prefix specified - possible security hazard in D:\usr\Apache\htdocs\mainfile.php on line 65 Что это за ошибки? Версия PHP-NUKE-7.6_rus_patched_3.0_phpbb_2.0.19.7z |
Вот ДООООЛГОО думал что делать, весь мануал зачитал до дыр уже и наконец нашёл. Есть такая фишка в нелокализованной версии нюки, что вместо печатного русского текста рисуются всякие там ?????? и больше ничего. В faq написано что нужно заменять htmlentities на htmlspecialchars. После 2 замен я уже устал и решил найти другой путь. И нашёл.
Нужно всего лишь в файле /db/mysql.php сделать следующее ++++++++++++ НАЙТИ ============= $this->db_connect_id = @mysql_pconnect($this->server, $this->user, $this->password); ============= ПОСЛЕ, ДОБАВИТЬ ============= mysql_query ("set names 'cp1251'"); ============= НАЙТИ ============= $this->db_connect_id = @mysql_connect($this->server, $this->user, $this->password); ============= ПОСЛЕ,ДОБАВИТЬ ============= mysql_query ("set names 'cp1251'"); ============= СОХРАНИТЬ ============= Работает без каких либо косяков на версии 7.9 :whistle: |
У меня по этому вопросу есть свой.
Пробывал все вышеописанное - не совсем работает: при измененеии имени модуля на например "Журнал", то получается следущее - в базу данных заносится такой бред - "Æóðíàë ", если же в базе исправить на "Журнал" вручную через phpMyAdmin, то потом на странице отображается нормально, но если не исправлять, то на странице такое (того же слова "Журнал") - Æóðíàë. Вот такая фигня. Вся база и таблицы залиты в ср1251 general ci. Также прописаны строки "mysql_query ("set names 'cp1251'");" в вышеупомянутых файлах в поддиректории "db". Уже перечитал все страницы форума, все перепробовал что было написано. Версия нюки - 7.9. Даже не знаю стоит ли задавать етот вопрос опять - "ЧТО ДЕЛАТЬ???" |
Мой способ работает если юзать мускул а не pSQl или любые другие базы данных. Если надо чтобы ещё и в других базах всё работало, надо это же проделать с другими файлами баз данных.
Кстати, попробуй скачать официальную версию с http://phpnuke.org/ Я на ней делал. Мускул 4.1.6 Версия php - 5.1.6. Тестировалось на денвере (http://www.denwer.ru). Обычно я просто прописывал mysql_query ("set names 'cp1251'"); в файле конфига (после строк соединения с базой данных, но здесь подключение происходит через инклудирование файлов баз данных (смотря какая база используется)). Так же можно попробовать тупой способ, который в ФАКЕ написан (то бишь заменить во всех файлах html_entities на htmlspecialchars), но есть один минус - нюка содержит примерно 1000 файлов с этими строками (то есть если времени не жалко, можешь прям сейчас приступать, и мдвед скажет превед твоей нюке примерно через недельку - другую :-) Ещё есть ссылка - http://www.shkurki.ru/modules.php?n...er=asc&start=15 Там тоже решается эта проблема. :-) Вот щас ещё вспомнил. У тебя неправильно кодировка была задана при дампе базы данных. Она должна быть cp1251 иначе вместо норамльных русских букв высвечивается Äîáðî ïîæàëîâàò&u или что нибудь подобное. :-) +++ В дополнение ко всему хочу сказать, что при правильное настройке никаких странностей не наблюдается + ко всему хочу добавить что если хочешь чтобы у тебя работала твоя нюка, лучше всегда их иметь две! Одна рабочая а вторая для тестирования и с отдельной базой данных, тогда всё будет вообще зашибись. Протестировал на второй нюке, если всё работает, ставишь апгрейт на первую - рабочую предварительно сделав дамп базы данных. + ко всему (уже в 3 раз) хочу добавить что есть такой файл как lang-russian.php и в нём должна быть строчка : //======================== define ("_CHARSET","cp1251"); //======================== Это, для тех кто не знает КОДИРОВКА САЙТА (портала, нюки - называёте как хотите). ============================================= Надеюсь что данная проблема уже исчерпала сама себя. Так как у меня после всех проделанных действий заработали 3 нюки 3 разных версий. :-) Удачи всем :-) ЗЫ Ещё можно попробовать способ описаный на шкурках: Код:
|
Щас застрелюсь!!!!!!!!!!
Опять я буду доставать вас. Нашел в логах также момент записи в базу данных кириллического названия модуля - 106 Query SHOW GLOBAL STATUS 106 Query SHOW INNODB STATUS 122 Query SELECT radminsuper FROM nuke_authors WHERE aid='awj7681' 122 Query set names cp1251 122 Query set character_set_client cp1251 122 Query set character_set_results cp1251 122 Query set collation_connection cp1251_general_ci 122 Query update nuke_modules set custom_title='Ôàéëè', view='0', inmenu='1', mod_group='0' where mid='3' 122 Query set names cp1251 122 Query set character_set_client cp1251 122 Query set character_set_results cp1251 122 Query set collation_connection cp1251_general_ci 122 Query SELECT title FROM nuke_modules ORDER BY title ASC 122 Query set names cp1251 122 Query set character_set_client cp1251 122 Query set character_set_results cp1251 122 Query set collation_connection cp1251_general_ci 122 Quit Строка - update nuke_modules set custom_title='Ôàéëè', view='0', inmenu='1', mod_group='0' where mid='3'. Это на украинском (русском) – Файли(ы). Какого хера запрос на обновление идет в таком виде????? И в базе сохраняется в таком же виде. Но если в ручную через phpMyAdmin исправить в самой базе, то загружается на страницу в нормальном виде. Как я понял, проблема вот в чем. Вся кириллица сохраняется в базе данных как «html named entites», то есть, например, слово «Журнал» перекодируется в - Æóðíàë. Вот как избежать этого? И потом из базы грузить этот «html named entites» и отображает какой-то бред – Æóðíàë, то же слово, но в непонятной кодировке. Но если в ручную через phpMyAdmin исправить в самой базе на «Журнал», то загружается на страницу в нормальном виде, т.е. – «Журнал». Так что проблемы отображения кириллических данных из самой базы – НЕТ. Есть только проблема их правильного сохранения, т.е. без конвертирования в «html (named) entites». P.S. Все выше прочитанное мною уже проделано не один десяток раз. |
давайте базы и пароли я вам помогу сделать.
|
Хотелось бы конечно. Но у меня все локально. Учусь только.... Хочу сначала разобраться локально, прежде чем на хост соваться. BEN, может что-то новое мне посоветуешь? Хочеться как-никак разобратся в этом деле, но вот эт а проблема как кость в горле стоит, не дает дальше двигаться. Может это связано как-то с самой MySQL? Имеет ли к єтому отношение например настройка "MySQL charset - UTF8", написано в окне phpMyAdmin? Может сбросишь мне на мыло кофигурационные файлы *.php (типа config, admin, mysql, db, mainfile и т.д)? Версия у меня 7.9. Мой Хотелось бы конечно. Но у меня все локально. Учусь только.... Хочу сначала разобраться локально, прежде чем на хост соваться. BEN, может что-то новое мне посоветуешь? Подскажешь в каком направлении двигаться? Хочеться как-никак разобратся в этом деле, но вот эта проблема как кость в горле стоит, не дает дальше двигаться. Может это связано как-то с самой MySQL? Имеет ли к этому отношение например настройка MySQL - "MySQL charset - UTF8", (написано в окне phpMyAdmin)? Может сбросишь мне на мыло кофигурационные файлы *.php (типа config, admin, mysql, db, mainfile и т.д)? Версия у меня 7.9. Мой мейл - awj7681@rambler.ru. Может что-то с самим php??? BEN, СПАСИБО за желание помочь... |
Этот касяк происходит при экспортировании файла sql в Mysql. При экспорте выбирайте cp1251 и всё будет ок проверено!
|
Я уже выбирал ср1251 где только видел. Если залить базу с нуля и ничего не настраивать, то кирилица конечно отображается только знаками вопроса - ?????????????. Мне хватило только внести измененния в файл db.php. При этом знаки вопроса исчезли.
Но вопрос в том, что кирилица НЕ СОХРАНЯЕТСЯ в базе в нормальном виде!!! И уже запрос идет в изменненном виде! Хотя как видно из логов этому запросу предшествуют набор команд на измененение всего чего только можно на коировку ср1251. Может в настройках самого РНР что-то не так??? Еще заметил одну фишку. Если делать дапм базы, то кирилица експортируется нормально, тоесть, если потом открыть в блокноте файл sql самой базы, то в нем вся кирилица отображается нормально. НО!!! Если потом ее опять залить через импорт, при этом ВЫБРАВ кодировку файла СР1251, то в базе вся ета кирилица отображается в кодировке UTF-8. Не знаю почему. По-моему, это что-то не так или с PHP или с MySQL. Версия сервера - 5.0.26 community-max nt-log (отображается в левой колонке окна phpMyAdmin). Буду копать дальше. |
Часовой пояс GMT +4, время: 23:39. |
Copyright © 2005 by Soniks