Advanced search  

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

Pages: [1]   Go Down

Author Topic: Криво работает sef_urls на windows-1251  (Read 15045 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.042 seconds with 20 queries.