Битая кодировка страница displayimage.php fullsize Битая кодировка страница displayimage.php fullsize
 

News:

CPG Release 1.6.26
Correct PHP8.2 issues with user and language managers.
Additional fixes for PHP 8.2
Correct PHP8 error with SMF 2.0 bridge.
Correct IPTC supplimental category parsing.
Download and info HERE

Main Menu

Битая кодировка страница displayimage.php fullsize

Started by banditkr, May 02, 2008, 02:44:06 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

banditkr

Добрый день! У меня к вам такой вопрос: неправтльн оотображается кодировка при открытии фото в полном размере. Нашел здесь тему : http://forum.coppermine-gallery.net/index.php/topic,49259.0.html Там написано что
QuoteУ кого кодировка utf-8 обычно при открытии окна с картинкой крякозябры просто сохраните файл themes.inc.php в utf-8 и кодировка будет нормально определятся браузером.
Сделал, но не помогло. И еще проблемка, имена фотографий на сервере тож в крякозябрах. :(
На фото все видно. Как это решить?
Галерея стоит: cpg1.4.18
PHP Version 5.2.4
MySQL 5.0.45

Makc666

Quote from: banditkr on May 02, 2008, 02:44:06 PM
Добрый день! У меня к вам такой вопрос: неправтльн оотображается кодировка при открытии фото в полном размере. Нашел здесь тему : http://forum.coppermine-gallery.net/index.php/topic,49259.0.html Там написано что Сделал, но не помогло.
Где конкретно неправильно отображается кодировка при открытии изображения в полный размер.
Я вот на примере http://coppermine-gallery.net/demo/cpg14x/displayimage.php?pid=113&fullsize=1 вижу, что кодировка в двух местах есть: в заголовке окна и при наведении курсора на изобржение.

Quote from: banditkr on May 02, 2008, 02:44:06 PMИ еще проблемка, имена фотографий на сервере тож в крякозябрах. :(
На фото все видно. Как это решить?
Галерея стоит: cpg1.4.18
PHP Version 5.2.4
MySQL 5.0.45
Думаю, что никак, кроме как переименования русского текста в английский.
Тема по данному вопросу тут -> http://forum.coppermine-gallery.net/index.php/topic,43506.0.html

И ещё, Вы уверены, что у Вас галерея установлена верна и правильно функционирует с базой данных?
Тема почитать тут -> http://forum.coppermine-gallery.net/index.php/topic,49624.0.html

banditkr

Вот конкретно, где не отображается кодировка: http://www.stroyrec.com.ua/gallery/displayimage.php?pid=331&fullsize=1 Там должно быть все видно.

Я сделал одно изменение, и стало отображаться нормально, но хочу спросить у вас, правильно ли это, вот что я сделал:
В каталог с галереей залил файл .htaccess где прописал в нем "AddDefaultCharset UTF-8"
И отображаться стало нормально все, но правильно ли это?
Но я еще проверил. как у меня установлена галерея, правильно ли функционирует с базой данных, то выяснилось что не правильно. Все как здесь:
Quotecharacter_set_client utf8
character_set_connection utf8
character_set_database cp1251 
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/local/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci

Но я не могу понять, как применить "патч" для файла
../include/functions.inc.php  чтобы изменить кодировку в базе данных.
И нужно ли это делать, если у меня уже отображается все нормально?

banditkr

Makc666
Подскажите пожалуйста, как применить "патч" для файла
../include/functions.inc.php  чтобы изменить кодировку в базе данных?????

Кодировка неправильная. :(

Makc666

Quote from: banditkr on May 03, 2008, 08:40:25 PM
Вот конкретно, где не отображается кодировка: http://www.stroyrec.com.ua/gallery/displayimage.php?pid=331&fullsize=1 Там должно быть все видно.
Для начала попробуйте это:
http://forum.coppermine-gallery.net/index.php/topic,47286.msg228954.html#msg228954

В теме по умолчанию тоже эта ошибка есть?

Вы конвертировали языковый файлы в кодировку 1251?

У меня подобной проблемы нигде нет.

Quote from: banditkr on May 03, 2008, 08:40:25 PM
И нужно ли это делать, если у меня уже отображается все нормально?
Решать Вам.
Запись  в базу данных у Вас сейчас 99% идёт в неправильной кодироке.

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

Quote from: banditkr on May 07, 2008, 12:48:16 AM
Makc666
Подскажите пожалуйста, как применить "патч" для файла
../include/functions.inc.php  чтобы изменить кодировку в базе данных?????

Кодировка неправильная. :(
Нужно добавить в файл строки, где в начале стоит знак "+".
Знак плюс добавлять не нужно.

Вы должны понимать, что после применения патча старые записи в вашей галереи станут нечитаемы.
Процесс конвертации/переноса базы описан тут:
http://forum.coppermine-gallery.net/index.php/topic,49624.msg254817.html#msg254817

banditkr

Quote from: Makc666Для начала попробуйте это:
http://forum.coppermine-gallery.net/index.php/topic,47286.msg228954.html#msg228954
Не помогло, отображается так же: http://www.stroyrec.com.ua/gallery/displayimage.php?pid=331&fullsize=1
Но я сделал вот как: в каталог с галереей залил файл .htaccess где прописал в нем "AddDefaultCharset UTF-8"
И отображаться стало нормально все, но правильно ли это?
Вот на примере другой фотогалереи:
Quotehttp://velo-kr.dp.ua/foto/displayimage.php?pid=14&fullsize=1
Вверху теперь русский вместо крякозябликов.
Quote from: Makc666В теме по умолчанию тоже эта ошибка есть?
Вроде все нормально.
Quote from: Makc666Вы конвертировали языковый файлы в кодировку 1251?
Нет, не конвертировал, сохранял в кодировке UTF-8.
Quote from: Makc666Я вообще не понимаю, зачем создавать базу данных галереи в cp1251, переименовывать языковые файлы в cp1251 и наживать себе проблемы.
Ну я создавал базу даных через DirectAdmin, так как через phpMyAdmin у меня такой привелегии нету. И я не выбирал в какой кодировке создавать тааблицу, так как немогу там вообще найти где это делать, я просто создал таблицу и установил галерею не задумываясь про кодировки.

Я так понял, что мою уже действующую базу данных  нужно переконвертировать в UTF-8, для этого нужно экспортировать через phpMyAdmin в формате SQL, Как написано в том посте здесь:
Quote from: Makc6661. Вы делаете обычный экспорт (т.е. ничего не меняя в его настройках) через phpMyAdmin в формате SQL (original.sql)
Но я никак не могу понять эти пункты:
Quote from: Makc6662. Заливает файл на хост с шелом
3. Выполняете команды
Ну а потом залить уже в новую созданную базу данных, но как мне ее создать через DirectAdmin в правильной кодировке?

Makc666

Quote from: banditkr on May 07, 2008, 03:30:44 PM
Не помогло, отображается так же: http://www.stroyrec.com.ua/gallery/displayimage.php?pid=331&fullsize=1
Но я сделал вот как: в каталог с галереей залил файл .htaccess где прописал в нем "AddDefaultCharset UTF-8"
И отображаться стало нормально все, но правильно ли это?
Проблема в том, что Ваш (и мой тоже) браузер, считает, что страница не в кодировке UTF-8.
Добавляя подобную строку в файл .htaccess вы браузеру насильно говорите использовать кодировку UTF-8.
Если на вашем же сайте, в теме по умолчанию, данная страница отображается нормально, то это ошибка вашей измененной темы.
Где - вот честно - не могу сказать (может быть ночь и устал).
Может быть Вы сохранили файлы измененной темы в какой-нибудь специфичной кодировке или сохраняли их в блокноте. Тогда подобная ошибка может иметь место.

Quote from: banditkr on May 07, 2008, 03:30:44 PMВот на примере другой фотогалереи:  Вверху теперь русский вместо крякозябликов.Вроде все нормально. Нет, не конвертировал, сохранял в кодировке UTF-8. Ну я создавал базу даных через DirectAdmin, так как через phpMyAdmin у меня такой привелегии нету. И я не выбирал в какой кодировке создавать тааблицу, так как немогу там вообще найти где это делать, я просто создал таблицу и установил галерею не задумываясь про кодировки.
Если Вы знаете логин и пароль от вашей базы данных галереи, то это достаточно чтобы использовать phpMyAdmin.
Просто в его настройках указывает этот логин и пароль. А поменять кодировку базы данных можно в её Опциях.

Quote from: banditkr on May 07, 2008, 03:30:44 PMЯ так понял, что мою уже действующую базу данных  нужно переконвертировать в UTF-8, для этого нужно экспортировать через phpMyAdmin в формате SQL, Как написано в том посте здесь:
Quote from: Makc6661. Вы делаете обычный экспорт (т.е. ничего не меняя в его настройках) через phpMyAdmin в формате SQL (original.sql)
Но я никак не могу понять эти пункты:
Quote from: Makc6662. Заливает файл на хост с шелом
3. Выполняете команды
Ну а потом залить уже в новую созданную базу данных, но как мне ее создать через DirectAdmin в правильной кодировке?
Хост с шелом - это означает, что Вы имеете доступ к консоли сервера (виртуального сервера).
Вот тут почитайте http://hosting.rbc.ru/ru/helpandsupport/ssh/
4ый вопрос "Что такое SSH?"
QuoteОтвет:
Упрощенно протокол SSH можно назвать безопасной версией telnet. Т.е. с помощью SSH-клиента Вы можете подключаться к серверу и выполнять некие команды, но, в отличие от работы с telnet, весь трафик при этом будет зашифрован.

Если у Вас нет шела, то, вы можете попросить кого-нибудь, у кого есть, конвертнуть вашу базу данных из cp1251 в UTF8.
После чего Вы удаляете вашу базу данных (или очищаете). Исправляете в ней кодировку на UTF-8. И заливаете данные обратно.

ich

Столкнулся с проблемой кодировки, но ничего похожего на форуме не нашел.
Галерея 1.4.26, всё отображается вроде отлично, кроме окна "Обрезать и Повернуть" для фотографий.
Отображение в приложенном скриншоте.

В коде страницы
<head>
  <meta http-equiv="imagetoolbar" content="no" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Coppermine РедакС,РѕСЂ Р�·РѕР±СЂР°Р¶РµРЅРёР№</title>
        <script type="text/javascript">


Show variables:
character_set_client utf8
character_set_connection utf8
character_set_database utf8
character_set_filesystem binary
character_set_results utf8
character_set_server cp1251
character_set_system utf8
character_sets_dir /usr/local/share/mysql/charsets/
collation_connection utf8_general_ci
collation_database utf8_general_ci
collation_server cp1251_general_ci


Топик Кодировка в MySQL 4.1.* и MySQL 5.* читал, условия для применения патча не выполняются, поэтому и не патчил.

ich

UPD:
Quote from: ich on March 23, 2010, 01:54:52 AM
Столкнулся с проблемой кодировки, но ничего похожего на форуме не нашел.
Похожее то нашел, но не понял как вылечили.
Сейчас, бродя по галерее кодировка определяется правильно - UTF-8, при вызове функции "Обрезать-повернуть" (а также при просмотре "Полный размер") кодировка переключается на Кириллица (Windows). Как задать жесткое определение? При выборе кодировки UTF-8 всё читается норм.

Проверял в ИЕ, Мозиле и на разных компах, всё одинаково.

ich

UPD

Уже пропатчил, результат работы патча отразился на правильном отображении названия форума (он вместо русских буков, как оказалось, выдавал вопросы).

Однако начальная проблема осталась, при открытии дополнительных окон, типа "Обрезать и повернуть" или "Полный размер" они определяются браузером с кодировкой Кириллица (Windows).
При этом обратил внимание на различие кодов.
Здесь, кодировка определяется:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta http-equiv="Pragma" content="no-cache" />
<title>Альбом - Cardician/test</title>

Здесь не определяется:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
  <head>
  <meta http-equiv="imagetoolbar" content="no" />
  <meta http-equiv="content-type" content="text/html; charset=utf-8" />
    <title>Coppermine Редактор Изображений</title>

Возможно ли, что дело в расположении надписи <meta http-equiv="imagetoolbar" content="no" />?

Makc666

Вы редактировали файл русского языка?

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

Почитайте вот это:
How to remove UTF-8 signature with Araxis Merge
http://forum.coppermine-gallery.net/index.php?topic=28539.msg132033#msg132033

How to remove UTF-8 signature with WinHex
http://forum.coppermine-gallery.net/index.php?topic=28539.msg132037#msg132037





Quote from: ich on March 29, 2010, 06:27:19 PM
Может есть еще варианты?

А браузер то какой у Вас?
В другой пробовали?
Может быть ссылку на галерею приведёте, чтобы посмотрели мы сами? Только чтобы мы могли полноразмерные изображения открывать.

ich

спасибо за ответ.
Файл русского языка не редактировал (галерею переставлял уже несколько раз, в версии 1.5 тоже самое).
Рекомендованное инфо почитал, но вот с проблемой не справился.
В программе WinHex UTF-8 signature нету (скрин 1)

В программе Araxis Merge v6.5 в настройках опции как на скриншоте Araxis-Merge-UTF-8-no-signature---01.png  нету (скрин 2).
Если сохраняю с Encoding *UTF-8 (no signature) - размер увеличивается со 190кб до 303кб, и при замене этого файла на сайте, ВСЕ русские символы отображаются так "РќР° вашем сервере включена опция". При этом кодировка браузера определяется как Юникод(UTF-8). Подобрать ту, при которой отображается корректно - не удалось, поменял файл russian.php обратно.
Может есть еще варианты?


ich

Quote from: Makc666 on April 06, 2010, 12:42:04 AM
А браузер то какой у Вас?
В другой пробовали?
Может быть ссылку на галерею приведёте, чтобы посмотрели мы сами? Только чтобы мы могли полноразмерные изображения открывать.

IE (версии 6,7,8), Мозила (3.6.3), Опера (10.5)
сайт http://talk.cardician.ru/gallery/index.php

Плагин Light Box частично убирает проблемы (так как не открывается новое окно), но вот с окном "Обрезать и повернуть" проблем не избежать.

Makc666

Quote from: ich on April 06, 2010, 09:19:22 PM
IE (версии 6,7,8), Мозила (3.6.3), Опера (10.5)
сайт http://talk.cardician.ru/gallery/index.php

Плагин Light Box частично убирает проблемы (так как не открывается новое окно), но вот с окном "Обрезать и повернуть" проблем не избежать.
Как я думаю, что очень может быть у Вас какой-то другой файл сохранен в блокноте или в другой программе и в начале этого файла есть данная UTF8 сигнатура.

К примеру файл вашей темы...

На это указывают странные значки на любой странице отображения полноразмерного изображения.

Посмотрите скриншот с вашего сайта...

Сейчас я вам темку найду об этом...
Нашел.
http://forum.coppermine-gallery.net/index.php/topic,52388.0.html

Перенести сообщения что-ли...

Makc666

Quote from: ich on March 25, 2010, 09:58:08 PM
UPD

Уже пропатчил, результат работы патча отразился на правильном отображении названия форума (он вместо русских буков, как оказалось, выдавал вопросы).

Значит у Вас условия выполнения описанные в теме http://forum.coppermine-gallery.net/index.php/topic,49624.0.html не выполняются.
Хотя Вы писали, что выполняются.
Или какая-то иная проблема с базой данных.

Если Вы прочитал данную тему, то увидите, что другому пользователю помогло создание/редактирование файла .htaccess и добавление в него строки
AddDefaultCharset UTF-8

Хотя мне кажется, что это неправильный вариант.
Нужно просто разобраться с базой данных.

Хотя, я не исключаю, что если в базе данных кодировки расходятся, а изменить этого нельзя и приходится использоваться патч, то очень может быть что тогда .htaccess это единственный верный вариант. Но у меня сомнения в этом.

ich

Макс, спасибо, помогло!
Понять бы только, что помогло :)