Advanced search  

News:

cpg1.5.48 Security release - upgrade mandatory!
The Coppermine development team is releasing a security update for Coppermine in order to counter a recently discovered vulnerability. It is important that all users who run version cpg1.5.46 or older update to this latest version as soon as possible.
[more]

Pages: [1]   Go Down

Author Topic: Криво работает sef_urls на windows-1251  (Read 15044 times)

0 Members and 1 Guest are viewing this topic.

RedPage

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 82
  • Doping
    • Эскизы татуировок.
Криво работает sef_urls на windows-1251
« on: November 18, 2008, 10:54:39 pm »

Криво работает sef_urls на windows-1251
Выдалась минутка заняться галереей, обнаружил, что база создалась непонятно как, хотя в том году в это время хотел интегрировать галерею к вордпресу и была нужна UTF-8, но из-за крякозябр сгноил базу с более чем 10000 описанных фоток, установил все с нуля в надежде, что все будет правильно, но инсталер кривой, и создавал бог весть, что пришлось всякие файлы править интегрировать из-за этого не получилось я перекипел. (Кривой на примере товоже вордпреса, ставится, быстра и делает таблицы в нужном формате без всякого геморроя). Вернусь к проблеме, которую я обнаружил, она собственно изложена в заголовке топика, а выглядит так:

Когда была UTF-8 хоть и кривая sef_urls работал и не было не каких ошибок, при переходе по ключевым фразам в

http://www.tatu.announcements.ru/search.php

Сейчас же при нажатии на ключевую фразу:
http://www.tatu.announcements.ru/thumbnails-search-черный.html

вылазет вот такая ошибка:
Результаты поиска - "черный"

Ради эксперимента потратив часов 20 конвертировав таблицу в базе, но не чего не помогло.
При этом запрос можно отправить типа, если бы sef_urls не стоял:

http://www.tatu.announcements.ru/thumbnails.php?album=search&search=черный
Ошибок в виде крякозябр при этом нет
Результаты поиска - "черный"

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

(https://forum.coppermine-gallery.net/proxy.php?request=http%3A%2F%2Fwww.tatu.announcements.ru%2Falbums%2Fuserpics%2F10001%2Fthumb_00001.jpg&hash=4480a247071df8e029cc6ec5044387cb034cd678)
Духи мне шепчут, то я должен своим несчастьем с Рунету. :'(

Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Криво работает sef_urls на windows-1251
« Reply #1 on: November 19, 2008, 12:36:15 pm »

Нужно понимать, как работает браузер вообще, и как работает sef_urls.

Когда Вы в браузере открывает ссылку:
http://www.tatu.announcements.ru/thumbnails.php?album=search&search=черный

Браузер СРАЗУ передаёт в PHP слово "черный" и уже там русские буквы обрабатываются.

А уже потом в браузер возвращается слово преобразованное и ссылка выглядит как:
http://www.tatu.announcements.ru/thumbnails.php?album=search&search=%D1%87%D0%B5%D1%80%D0%BD%D1%8B%D0%B9

Если Вы попытаетесь изначально открыть ссылку:
http://www.tatu.announcements.ru/thumbnails.php?album=search&search=%D1%87%D0%B5%D1%80%D0%BD%D1%8B%D0%B9
то ничего не получите :)

Это грубо говорю...

---------------------

А когда Вы открываете:
http://www.tatu.announcements.ru/thumbnails-search-черный.html

То получается, что на каком-то этапе слово черный обрабатывается в UTF-8, а потом обработанный результат передаётся обратно в Windows-1251 и получается вот это "черный".
"черный" - это и есть "черный" в UTF-8.

Если Вы откроете ссылку ниже, то всё будет работать.
http://www.tatu.announcements.ru/thumbnails-search-%F7%E5%F0%ED%FB%E9.html

Мне кажется, что Вы там уже столько намутили с пересохранением файлов в разных кодировках, что сами запутались и нас путаете ???

Я обновил архив SEF_URLs plugin for cpg1.4.x до версии Version 1.44
http://forum.coppermine-gallery.net/index.php/topic,46718.msg276140.html#msg276140
« Last Edit: November 19, 2008, 12:54:47 pm by Makc666 »
Logged

RedPage

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 82
  • Doping
    • Эскизы татуировок.
Re: Криво работает sef_urls на windows-1251
« Reply #2 on: November 20, 2008, 05:39:29 am »

Переустановил плагин, но при нажатии на

http://www.tatu.announcements.ru/search-thumbnails-черный.html

Результаты поиска - "черный"

При этом все нормально работает, если просто вести слово в строке запроса поиска:
Результаты поиска - "черный"

Также все нормально отображается, если запрос идет вида:
http://www.tatu.announcements.ru/thumbnails.php?album=search&search=черный

кстати этот запрос не работает с кодировкой UTF-8 на той же
http://www.art-apple.ru/thumbnails.php?album=search&search=черный
Результаты поиска - "������"
Но если нажимать на русские слова, которые есть на
http://www.art-apple.ru/search.php
Все работает:
http://www.art-apple.ru/thumbnails.php?album=search&search=черная
Результаты поиска - "черная" но стоит обновить запрос и снова все
Результаты поиска - "������"
Logged

RedPage

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 82
  • Doping
    • Эскизы татуировок.
Re: Криво работает sef_urls на windows-1251
« Reply #3 on: November 20, 2008, 07:56:52 am »

Я вижу решение в данной ситуации в следующем отключить запросы вида:

http://www.tatu.announcements.ru/search-thumbnails-детское.html

Пускай они будут как без sef_urls

http://www.tatu.announcements.ru/thumbnails.php?album=search&search=детское


Последнее не так критично, но возник вопрос как правильно это сделать? С налету это не прокатило.
Уверен, то убрав обработку данного запроса скрипт станет более универсален, так как будет меньше зависеть от кодировок или последнему надо как-то явным образом иметь возможность указывать способ обращения к базе, все из-за той же путанице в кодировке.

Жалко будет отключать скрипт если не найду приемлемого выхода из данной ситуации. (https://forum.coppermine-gallery.net/proxy.php?request=http%3A%2F%2Fparty.redpage.ru%3A8080%2Fim%2Fsmlnew%2F36_1_38.gif&hash=9a486b9eec82eafd91bf9f50ed35ca7a586dc940)
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону
Re: Криво работает sef_urls на windows-1251
« Reply #4 on: November 25, 2008, 01:17:54 pm »

Можно попробовать перекодировать урл так:

$new_url = iconv('utf-8', 'windows-1251', rawurldecode($url));

т.е. нужно найти где впервые обрабатывается урл вида:
http://www.tatu.announcements.ru/thumbnails.php?album=search&search=детское
и перекодировать его
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Криво работает sef_urls на windows-1251
« Reply #5 on: December 02, 2008, 12:51:02 pm »

Вот тут это делается:
http://forum.coppermine-gallery.net/index.php/topic,56873.0.html


$CURRENT_PIC_DATA['keywords'] = всё ключевые слова для объекта
Logged

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #6 on: December 17, 2008, 10:39:04 pm »

Вот тут это делается:
http://forum.coppermine-gallery.net/index.php/topic,56873.0.html


$CURRENT_PIC_DATA['keywords'] = всё ключевые слова для объекта

Makc666, всё равно выдаёт в utf-8

Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Криво работает sef_urls на windows-1251
« Reply #7 on: December 18, 2008, 12:35:04 pm »

Makc666, всё равно выдаёт в utf-8
Открой:
displayimage.php

Найди кусок кода:
Code: [Select]
    if ($CURRENT_PIC_DATA['keywords'] != "") {                                                                                     
        $info[$lang_picinfo['Keywords']] = '<span class="alblink">' . preg_replace("/(\S+)/", "<a href=\"thumbnails.php?album=search&amp;search=\\1\">\\1</a>" , $CURRENT_PIC_DATA['keywords']) . '</span>';                                                           
    }

Замени на:
Code: [Select]
    if ($CURRENT_PIC_DATA['keywords'] != "") {                                                                                     
//        $info[$lang_picinfo['Keywords']] = '<span class="alblink">' . preg_replace("/(\S+)/", "<a href=\"thumbnails.php?album=sear
ch&amp;search=\\1\">\\1</a>" , $CURRENT_PIC_DATA['keywords']) . '</span>';                                                         
        $keywords_arr = preg_split("/[\s,]+/",$CURRENT_PIC_DATA['keywords']);                                                       
        foreach ($keywords_arr AS $key=>$value){                                                                                   
            $info[$lang_picinfo['Keywords']] .= '<span class="alblink"><a href="thumbnails.php?album=search&amp;search=' . urlencode
($keywords_arr[$key]) . '">' . $keywords_arr[$key] . '</a></span>&nbsp;';                                                           
        }                                                                                                                           
    }

У меня нет под рукой галереи в Windows-1251, поэтому мне тяжело тестить :(

Жду ответа...
Logged

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #8 on: December 18, 2008, 09:11:34 pm »

Нажимаю на фотку, пусто...
Logged

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #9 on: December 18, 2008, 09:19:14 pm »

У меня тот самый сложный случай когда мне пришлось в config.inc.php
Задать кодировку т.к. с переездом на другой хостинг возникли проблемы...

Code: [Select]
$CONFIG['dbcharset'] =                       'cp1251';
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Криво работает sef_urls на windows-1251
« Reply #10 on: December 31, 2008, 02:10:32 am »

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

Второне наверное проще, но... Нужно время.

Кстати, в 1.5.x обещают родную поддержку sef_urls.
Сам пока не видел.
Logged

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #11 on: January 12, 2009, 04:48:35 pm »

Makc666, а может можно, скачать архив cpg135_pictures с названиями фотографий и его каким-то образом перекодировать в cp1251...?
Т.к. хотел добавить к фоткам выведенным на первую страницу с помощью (copperminefetch) названия фотографий и они тоже крокозяблами отображаются... :-(
Logged

Alex Revo

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Posts: 637
  • Инженер человеческих душ
    • Фото Ростова-на-Дону
Re: Криво работает sef_urls на windows-1251
« Reply #12 on: January 12, 2009, 06:44:41 pm »

Покапайтесь в этой теме, там описано несколько рецептов как делается перекодировка.
Logged

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #13 on: January 12, 2009, 11:20:22 pm »

Makc666, у меня VPS
база с нуля создаётся

Code: [Select]
character_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/share/mysql/charsets/
collation_connection utf8_unicode_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci
и ничего придумать не могу, как конвертировать с помощью WinSCP то есть шел сделать, не понимаю.
Ещё раз можно для юзера. :-[
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Криво работает sef_urls на windows-1251
« Reply #14 on: January 13, 2009, 07:37:48 pm »

Makc666, у меня VPS
база с нуля создаётся

Code: [Select]
character_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/share/mysql/charsets/
collation_connection utf8_unicode_ci
collation_database cp1251_general_ci
collation_server cp1251_general_ci
и ничего придумать не могу, как конвертировать с помощью WinSCP то есть шел сделать, не понимаю.
Ещё раз можно для юзера. :-[
А как база создаётся, кнопкой?
Доступ к phpmyadmin есть?
Можно несколько баз создавать, т.е. создать пустую базу?
Logged

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #15 on: January 13, 2009, 09:37:22 pm »

А как база создаётся, кнопкой?
Доступ к phpmyadmin есть?
Можно несколько баз создавать, т.е. создать пустую базу?


База создаётся из ISPmanager, но пробовал из phpmyadmin тоже.
Доступ к phpmyadmin естественно есть, баз можно создать неограниченное колличество т.к. VPS.
Logged

Makc666

  • Moderator
  • Coppermine addict
  • ****
  • Offline Offline
  • Gender: Male
  • Posts: 1614
  • Русский (ISO-8859-1) - Russian - Русский (Windows)
    • Makc's home page
Re: Криво работает sef_urls на windows-1251
« Reply #16 on: January 15, 2009, 03:47:20 pm »

База создаётся из ISPmanager, но пробовал из phpmyadmin тоже.
Доступ к phpmyadmin естественно есть, баз можно создать неограниченное колличество т.к. VPS.
Так. Понятно.

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

ULISS

  • Coppermine regular visitor
  • **
  • Offline Offline
  • Gender: Male
  • Posts: 60
Re: Криво работает sef_urls на windows-1251
« Reply #17 on: January 15, 2009, 11:41:30 pm »

Так. Понятно.

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

Проблема в следующем.
Ключевые русские слова  отображаются абракадаброй по клику, да и вся база если убрать патч.

Code: [Select]
}
          if (!mysql_select_db($CONFIG['dbname']))
                  return false;
+                 if ($CONFIG['dbcharset']) {
+                   mysql_query("SET NAMES '$CONFIG[dbcharset]'",$result);
+                 }
          return $result;
  }

А вообще, хотелось бы конвертнуть базу в cp1251 чтоб не было никаких траблов и не изобретать велосипед.  :P
         
Logged
Pages: [1]   Go Up
 

Page created in 0.039 seconds with 15 queries.