Xamos 0 Опубликовано: 2 декабря 2007 Рассказать Опубликовано: 2 декабря 2007 Здраствуйте, впервые начал делать на языке отличном от русского и английского (с ними проблем нет), все перевели и шаблоны и lng файлы, файлы шаблоны сделали в кодировке utf8, база данных в utf8, кодировка на сайте в utf8 - но есть проблема, для того что бы греческие символы нормально отображались, надо что бы lng файл (в частности клиентской части) был в кодировке utf8 - так вот когда сохраняю именно в этой кодировке, начинаются глюки, с отображением сайта, насколько понимаю (а понимаю не особо много) перестает корректно работать аякс. Точно не рабоает календарь (при попытке включить другой месяц). А если кодировки lng файлы сделать win1251 - все работает, но греческие символы отображаются знаками вопроса ????? Как быть подскажите, пожалуйста. сайт: http://xamos.ws Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 2 декабря 2007 Рассказать Опубликовано: 2 декабря 2007 Warning: Cannot modify header information - headers already sent by (output started at /home/xamoswsj/public_html/language/Greece/website.lng:1) in /home/xamoswsj/public_html/engine/ajax/calendar.php on line 227 У вас этот файл не верный, какие левые данные в самом начале или просто пустые строки. Цитата Ссылка на сообщение Поделиться на других сайтах
Xamos 0 Опубликовано: 2 декабря 2007 Рассказать Опубликовано: 2 декабря 2007 Автор т.е. в lng файле? или вы имеете ввиду calendar.php - его даже не трогал! и когда lng файл сохраняешь в кодировке win-1251 - то все нормально! Цитата Ссылка на сообщение Поделиться на других сайтах
Xamos 0 Опубликовано: 2 декабря 2007 Рассказать Опубликовано: 2 декабря 2007 Автор Вы можете объяснить в чем причина того что при смене кодировки файла website.lng с win-1251 на utf-8 - начинаются баги, которые сейчас на сайте, в частности календарь глючит + слетают почти все css стили? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 output started at /home/xamoswsj/public_html/language/Greece/website.lng:1 означает что в LNG файл у вас на первой строчке уже отсылает информацию в браузер соответственно послать в браузер ничего не возможно, в том числе информацию о другой кодировке. Посмотрите на файл в дистрибутиве, в нем нет лишних в начале строк, а у вас судя по приведенной ошибке они есть. Также чтобы корректно работал UTF-8 нужно чтобы БД была в UTF-8 кодировку можно установить при установке 6.3 по умолчанию стоит cp1251 После этого кодировку в настройках скрипта нужно поставить на utf-8, в языковом файле charset поставить в самом начале на UTF-8 и сам языковой файл сохранить не в формате ASCII как сделано в стандартом пакете, а в UTF-8 и убрать левые строчки из пакета, у вас они есть, после этого проблем с UTF не будет. Цитата Ссылка на сообщение Поделиться на других сайтах
Xamos 0 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 Автор Спасибо, сейчас попробую с файлом пошаманить, а база и все остальное у меня в utf Все что вы сказали проделал, ничего не помогло, вот файл http://xamos.ws/website.zip - все ли там верно? Может есть еще что то? И еще в админке, в настройке системы, предлагается сменить кодировку используемую на сайте, по дефолту там windows-1251, пишу utf-8 нажимаю сохранить, возвращаюсь на ту же страницу, а кодировка снова windows-1251 - но при этом в мета тегах на сайте отображается utf-8 Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 в самом начале стоит п?ї<?php и тут же возникает вопрос что такое п?ї и откуда взялось, говорю же некорректный языковой файл а вы не слушаете. Может где еще проблемы, но только этой уже достаточно чтобы ничего не работало. Цитата Ссылка на сообщение Поделиться на других сайтах
Xamos 0 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 (изменено) Автор Извините, но в каком редакторе вы этот код увидели? в блокноте, в дриме, во всех браузерах смотрю и нет такого. Изменено 3 декабря 2007 пользователем Xamos Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 в самом что ни на есть в обычном блокноте. И PHP ругается именно на эту строчку. Цитата Ссылка на сообщение Поделиться на других сайтах
Xamos 0 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 (изменено) Автор нет такого (( можете из того файла который я выложил удалить эти символы и залить снова, а то даже не знаю как так получается... вот нет ничего Изменено 3 декабря 2007 пользователем Xamos Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 Я использовал PHP Expert Editor 4.2 При отрытии файла этих левых символов не видно, и если его просто пересохранить в формате UTF-8 то они убираются из начала, и файл становится нормальным. Только эти вопросы с перезаливкой к службе поддержки скрипта уже не относятся. Цитата Ссылка на сообщение Поделиться на других сайтах
Xamos 0 Опубликовано: 3 декабря 2007 Рассказать Опубликовано: 3 декабря 2007 (изменено) Автор все не надо уже, спасибо за помощь! Изменено 3 декабря 2007 пользователем Xamos Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 12 декабря 2007 Рассказать Опубликовано: 12 декабря 2007 (изменено) output started at /home/xamoswsj/public_html/language/Greece/website.lng:1 означает что в LNG файл у вас на первой строчке уже отсылает информацию в браузер соответственно послать в браузер ничего не возможно, в том числе информацию о другой кодировке. Посмотрите на файл в дистрибутиве, в нем нет лишних в начале строк, а у вас судя по приведенной ошибке они есть. Также чтобы корректно работал UTF-8 нужно чтобы БД была в UTF-8 кодировку можно установить при установке 6.3 по умолчанию стоит cp1251 После этого кодировку в настройках скрипта нужно поставить на utf-8, в языковом файле charset поставить в самом начале на UTF-8 и сам языковой файл сохранить не в формате ASCII как сделано в стандартом пакете, а в UTF-8 и убрать левые строчки из пакета, у вас они есть, после этого проблем с UTF не будет. Версия DataLife Engine: 6.5 Тип лицензии скрипта: Лицензия активирована Режим работы сайта: Включен Версия PHP 5.2.3 Версия MySQL 5.0.24a-standard-log MySQLi Версия GD 2.0.34 Module mod_rewrite Неопределено Безопасный режим Выключен Выделено оперативной памяти: 90M Отключенные функции: Неопределено Максимальный размер загружаемого файла: 7 Mb Размер свободного места на диске: 77.57 Gb Уважаемый Владимир, я также столкнулся с проблемой при переводе DLE 6.5 на польский язык, а точнее проблема в том что в комментариях не отображаются некоторые польские символы. Установил utf-8 во всех указанных вами файлах, сам сайт перевелся и поддерживает все польские символы, а вот в коментариях нет. В версии 6.3 решил эту проблему установкой utf-8: во всех файлах из папки \engine\inc\ \engine\classes\mysql.class.php \engine\classes\mysqli.class.php \engine\ajax\addcomments.php \engine\ajax\editcomments.php \engine\ajax\editnews.php \engine\ajax\keywords.php \engine\ajax\newsletter.php \engine\ajax\pm.php \engine\ajax\registration.php \engine\ajax\registration.php (не знаю зачем менял файлы в папке ajax, т.к. он у меня был отключен, но помоему заработало после изменения файлов addcomments.php и editcomments.php) и также попутной заменой в коде во всех файлах где он присутствует: function convert_unicode($t, $to = '[color="#FF0000"]windows-1251[/color]') { $to = strtolower($to); if ($to == 'utf-8') { $t = preg_replace( '#%u([0-9A-F]{1,4})#ie', "decode_to_utf8(hexdec('\\1'))", utf8_encode($t) ); $t = urldecode ($t); } else { $t = preg_replace( '#%u([0-9A-F]{1,4})#ie', "'�' . hexdec('\\1') . ';'", $t ); $t = urldecode ($t); $t = @html_entity_decode($t, ENT_NOQUOTES, $to); } return $t; }[/codebox] [color="#000080"]windows-1251 на utf-8[/color] Я не знаю какое из этих действий помогло(может и все) - так как не силен в php, но в версии 6.3 в коментарях стали отображатся все необходимые символы, а вот в 6.5 это не помагает, пробовал разные комбинаций действий, и по шагово, но ничего не помагает. Самое интересное, что не отображается только одна специфическая буква, и текст следующий за этой буквой также магическим образом пропадает как и она сама, отображется только текст находившийся перед ней. Прошу о помощи. Спасибо. [spoiler]Сайт: citysmile.pl Написал сюда т.к. доступ в платную поддержку закрыт, не знаю почему, так как тех поддержку я оплатил [/spoiler] Изменено 12 декабря 2007 пользователем sirozhka Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 Вы должны кодировку в языковых файлах поставить на UTF-8 и сам файл сохранить не в ASCII формате а UTF, так же как и у автора темы, тогда проблема решится, вам не нужно править указанные файлы. По поводу доступа пишите персональным сообщением на сайте http://dle-news.ru Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 Вы должны кодировку в языковых файлах поставить на UTF-8 и сам файл сохранить не в ASCII формате а UTF, так же как и у автора темы, тогда проблема решится, вам не нужно править указанные файлы. По поводу доступа пишите персональным сообщением на сайте http://dle-news.ru Переустановил двиг заново, с новой БД, изменил нужные файлы, но все равно проблема осталась - эта долбанная буква пропадает . Устанавливал и в оригинале(менял файлы после) и сразу с измененными файлами. Кстати попробовал оставить комментарий на сайте у автора статьи, эта буква тоже не отображается. Чтож я такого сделал в версии 6.3 что было все нормально Владимир, помогите пожалуйста, уже бьюсь головой ап стену который день... Может эта буква есть в уникоде, мож тот код выше который я менял убирает эту букву?.. И еще одна странная вещь. После переустановки не отображаются стандартные 3 новости, отображаются только картинки - текста нету! Отредактировать в админке тоже не возможно. А еще в phpMyAdmin везде указана кодировка utf8_general_ci, а в последней строчке Сумма - latin1_swedish_ci(не знаю почему и как исправить, но до переустановки везде была utf8_general_ci, но все равно та буква не отображалась)... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 После переустановки не отображаются стандартные 3 новости, В настройках скрипта и в языковых файлах какая кодировка стоит? эта долбанная буква пропадает . Я к сожалению проверить этого не могу, т.к. на моей клавиатуре эта буква принципиально отсутствует. Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 Везде стоит utf-8 и файлы сохранены в этой же кодировке. Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 Да кстати по поводу пропадания новостей после установки. Файл install.php вы должны пересохранить в формате UTF, т.к. там текст начальных новостей по русски написан. Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 Это я сейчас сделаю, переустановлю заново! А языковые файлы и файлы шаблона лучше менять до или после установки? И в файле install.php нужно менять charset windows-1251 на utf-8? Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 И в файле install.php нужно менять charset windows-1251 на utf-8? да поменятьА языковые файлы и файлы шаблона лучше менять до или после установки? лучше наверное до, хотя без разницы Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 ОК. Спасибо, буду пробовать опять. Не помогло . В phpMyAdmin опять в Сумме иная кодировка от остальных строк. Буду ковырять скрипт дальше, ведь в 6.3 мне удалось как то это сделать... Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 Почему не получилось? Все получилось, новости же появились после инсталяции, я только про них говорил. А к пропавшей букве это не относится. Также между 6.3 и 6.5 разницы между обработкой UTF вообще нет, эти функции не подвергались изменению. Тем более что пропадает только одна определенная буква. Может у вас что то с копмьюером или браузером, попросите соседа написать. Я немогу ничего проверить, т.к. польский язык отсутствует у меня как класс. Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 (изменено) Ну можно букву копировать и вставить, я так пробовал и соседи тоже писали - ничего не помагает, я уже ненавижу эту букву Изменено 13 декабря 2007 пользователем sirozhka Цитата Ссылка на сообщение Поделиться на других сайтах
sirozhka 0 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 (изменено) Ну я и дурак!!! И зачем спрашивается мне понадобилась эта utf-8 Сейчас перевел в iso-8859-2(центральноевропейская) и оказывается что скрипт поддерживает и русские буквы при данной кодировке, и греческие тоже (правда в теге title заменяет их символьным значением, так что пост не назовешь по русски, ибо гугл тебя не поймет )!!! А я боялся. Руки не дошли проверить это в версии 6.3, столько времения зря потерял на перевод в utf... Правда при отправке письма приходят символьные коды вместо польских букв, кроме одной, угадайте какой , она как раз таки единственная отображается... А когда я мучался с utf и когда она не отображалась в каментах, на мыло приходило подтверждение о новом каменте то там она была видна, мистика какая то... - видимо все таки с utf лучше, на мыло приходило в нормальном виде, а в каменте не было видно... Владимир, скажите пожалуйста почему на сайте буквы отображается нормально, а в title и при отправке по почте(PHP Mail) заменяеются на символьные значения типа #1087;#1088;#1080; и можно ли это исправить. И еще, где находится этот текст, нужно его заменить: Уважаемый администратор, уведомляем вас о том, что на сайт http://www.site.ru/ был добавлен комментарий. ------------------------------------------------ Краткая информация о комментарии ------------------------------------------------ Автор: admin Дата добавления: 13 декабря 2007 08:33 Ссылка на новость: http://www.site.ru/index.php?newsid=1 IP адрес: 192.168.0.1 ------------------------------------------------ Текст комментария ------------------------------------------------ С уважением, Администрация http://www.site.ru/ И нужно ли менять кодировки в этих файлах: \engine\classes\mysql.class.php \engine\classes\mysqli.class.php \engine\classes\mail.class.php Спасибо. Изменено 13 декабря 2007 пользователем sirozhka Цитата Ссылка на сообщение Поделиться на других сайтах
celsoft 6 095 Опубликовано: 13 декабря 2007 Рассказать Опубликовано: 13 декабря 2007 значения типа #1087;#1088;#1080; и можно ли это исправить. нельзя это исправить, потому что кодировка iso-8859-2 и #1087;#1088;#1080; это HTML сущности букв кирилицы Цитата Ссылка на сообщение Поделиться на других сайтах
Рекомендованные сообщения
Присоединяйтесь к обсуждению
Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.