Перейти к публикации

Рекомендованные сообщения

Здраствуйте, впервые начал делать на языке отличном от русского и английского (с ними проблем нет), все перевели и шаблоны и lng файлы, файлы шаблоны сделали в кодировке utf8, база данных в utf8, кодировка на сайте в utf8 - но есть проблема, для того что бы греческие символы нормально отображались, надо что бы lng файл (в частности клиентской части) был в кодировке utf8 - так вот когда сохраняю именно в этой кодировке, начинаются глюки, с отображением сайта, насколько понимаю (а понимаю не особо много) перестает корректно работать аякс. Точно не рабоает календарь (при попытке включить другой месяц). А если кодировки lng файлы сделать win1251 - все работает, но греческие символы отображаются знаками вопроса ????? Как быть подскажите, пожалуйста. сайт: http://xamos.ws

Ссылка на сообщение
Поделиться на других сайтах

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

У вас этот файл не верный, какие левые данные в самом начале или просто пустые строки.

Ссылка на сообщение
Поделиться на других сайтах

т.е. в lng файле? или вы имеете ввиду calendar.php - его даже не трогал! и когда lng файл сохраняешь в кодировке win-1251 - то все нормально!

Ссылка на сообщение
Поделиться на других сайтах

Вы можете объяснить в чем причина того что при смене кодировки файла website.lng с win-1251 на utf-8 - начинаются баги, которые сейчас на сайте, в частности календарь глючит + слетают почти все css стили?

Ссылка на сообщение
Поделиться на других сайтах

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 не будет.

Ссылка на сообщение
Поделиться на других сайтах

Спасибо, сейчас попробую с файлом пошаманить, а база и все остальное у меня в utf

Все что вы сказали проделал, ничего не помогло, вот файл http://xamos.ws/website.zip - все ли там верно? Может есть еще что то?

И еще в админке, в настройке системы, предлагается сменить кодировку используемую на сайте, по дефолту там windows-1251, пишу utf-8 нажимаю сохранить, возвращаюсь на ту же страницу, а кодировка снова windows-1251 - но при этом в мета тегах на сайте отображается utf-8

Ссылка на сообщение
Поделиться на других сайтах

в самом начале стоит

п?ї<?php
и тут же возникает вопрос что такое
п?ї

и откуда взялось, говорю же некорректный языковой файл а вы не слушаете. Может где еще проблемы, но только этой уже достаточно чтобы ничего не работало.

Ссылка на сообщение
Поделиться на других сайтах

Извините, но в каком редакторе вы этот код увидели? в блокноте, в дриме, во всех браузерах смотрю и нет такого.

Изменено пользователем Xamos
Ссылка на сообщение
Поделиться на других сайтах

в самом что ни на есть в обычном блокноте. И PHP ругается именно на эту строчку.

Ссылка на сообщение
Поделиться на других сайтах

нет такого (( можете из того файла который я выложил удалить эти символы и залить снова, а то даже не знаю как так получается...

Untitled-1.gif

вот нет ничего

Изменено пользователем Xamos
Ссылка на сообщение
Поделиться на других сайтах

Я использовал PHP Expert Editor 4.2 При отрытии файла этих левых символов не видно, и если его просто пересохранить в формате UTF-8 то они убираются из начала, и файл становится нормальным. Только эти вопросы с перезаливкой к службе поддержки скрипта уже не относятся.

Ссылка на сообщение
Поделиться на других сайтах
  • 2 недели спустя...

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

Написал сюда т.к. доступ в платную поддержку закрыт, не знаю почему, так как тех поддержку я оплатил :rolleyes: [/spoiler]

Изменено пользователем sirozhka
Ссылка на сообщение
Поделиться на других сайтах

Вы должны кодировку в языковых файлах поставить на UTF-8 и сам файл сохранить не в ASCII формате а UTF, так же как и у автора темы, тогда проблема решится, вам не нужно править указанные файлы.

По поводу доступа пишите персональным сообщением на сайте http://dle-news.ru

Ссылка на сообщение
Поделиться на других сайтах

Вы должны кодировку в языковых файлах поставить на UTF-8 и сам файл сохранить не в ASCII формате а UTF, так же как и у автора темы, тогда проблема решится, вам не нужно править указанные файлы.

По поводу доступа пишите персональным сообщением на сайте http://dle-news.ru

Переустановил двиг заново, с новой БД, изменил нужные файлы, но все равно проблема осталась - эта долбанная буква пропадает :( .

Устанавливал и в оригинале(менял файлы после) и сразу с измененными файлами.

Кстати попробовал оставить комментарий на сайте у автора статьи, эта буква тоже не отображается. Чтож я такого сделал в версии 6.3 что было все нормально :huh:

Владимир, помогите пожалуйста, уже бьюсь головой ап стену который день... :(

Может эта буква есть в уникоде, мож тот код выше который я менял убирает эту букву?..

И еще одна странная вещь. После переустановки не отображаются стандартные 3 новости, отображаются только картинки - текста нету! Отредактировать в админке тоже не возможно.

А еще в phpMyAdmin везде указана кодировка utf8_general_ci, а в последней строчке Сумма - latin1_swedish_ci(не знаю почему и как исправить, но до переустановки везде была utf8_general_ci, но все равно та буква не отображалась)...

Ссылка на сообщение
Поделиться на других сайтах

После переустановки не отображаются стандартные 3 новости,

В настройках скрипта и в языковых файлах какая кодировка стоит?

эта долбанная буква пропадает .

Я к сожалению проверить этого не могу, т.к. на моей клавиатуре эта буква принципиально отсутствует.

Ссылка на сообщение
Поделиться на других сайтах

Да кстати по поводу пропадания новостей после установки. Файл install.php вы должны пересохранить в формате UTF, т.к. там текст начальных новостей по русски написан.

Ссылка на сообщение
Поделиться на других сайтах

Это я сейчас сделаю, переустановлю заново!

А языковые файлы и файлы шаблона лучше менять до или после установки?

И в файле install.php нужно менять charset windows-1251 на utf-8?

Ссылка на сообщение
Поделиться на других сайтах

И в файле install.php нужно менять charset windows-1251 на utf-8?

да поменять

А языковые файлы и файлы шаблона лучше менять до или после установки?

лучше наверное до, хотя без разницы

Ссылка на сообщение
Поделиться на других сайтах

ОК. Спасибо, буду пробовать опять.

Не помогло :( .

В phpMyAdmin опять в Сумме иная кодировка от остальных строк.

Буду ковырять скрипт дальше, ведь в 6.3 мне удалось как то это сделать... :unsure:

Ссылка на сообщение
Поделиться на других сайтах

Почему не получилось? Все получилось, новости же появились после инсталяции, я только про них говорил. А к пропавшей букве это не относится.

Также между 6.3 и 6.5 разницы между обработкой UTF вообще нет, эти функции не подвергались изменению. Тем более что пропадает только одна определенная буква. Может у вас что то с копмьюером или браузером, попросите соседа написать. Я немогу ничего проверить, т.к. польский язык отсутствует у меня как класс.

Ссылка на сообщение
Поделиться на других сайтах

Ну можно букву копировать и вставить, я так пробовал и соседи тоже писали - ничего не помагает, я уже ненавижу эту букву :wacko::)

Изменено пользователем sirozhka
Ссылка на сообщение
Поделиться на других сайтах

Ну я и дурак!!! И зачем спрашивается мне понадобилась эта utf-8 :lol:

Сейчас перевел в iso-8859-2(центральноевропейская) и оказывается что скрипт поддерживает и русские буквы при данной кодировке, и греческие тоже :) (правда в теге title заменяет их символьным значением, так что пост не назовешь по русски, ибо гугл тебя не поймет :huh:)!!!

А я боялся. Руки не дошли проверить это в версии 6.3, столько времения зря потерял на перевод в utf...

Правда при отправке письма приходят символьные коды вместо польских букв, кроме одной, угадайте какой :lol: , она как раз таки единственная отображается...

А когда я мучался с 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

Спасибо.

Изменено пользователем sirozhka
Ссылка на сообщение
Поделиться на других сайтах

значения типа #1087;#1088;#1080; и можно ли это исправить.

нельзя это исправить, потому что кодировка iso-8859-2 и #1087;#1088;#1080; это HTML сущности букв кирилицы

Ссылка на сообщение
Поделиться на других сайтах

Присоединяйтесь к обсуждению

Вы можете опубликовать сообщение сейчас, а зарегистрироваться позже. Если у вас есть аккаунт, войдите в него для написания от своего имени.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

×
×
  • Создать...