Перейти к контенту

g6uru

Пользователи
  • Число публикаций

    8
  • Регистрация

  • Последнее посещение

Недавние посетители профиля

Блок недавних посетителей отключен и не доступен другим пользователям для просмотра.

Достижения g6uru

  1. Трабла в preg_exp или unserilize почитай вот это
  2. Как вариант поставить VM ware. ))) Смысл данного скрипта прост, берем все файлы php, html, xml и перекодируем из ср-1251 в утф 8. Чем это лучше сделать под виндой подсказать не могу. Потом находим все файлы в которых используется, фунции preg_exp и unserilze и заменяем их на mb_preg_exp и unserilize. Деламем дамп БД, можно через пхп май админ, и мучаем этот дамп пока он не будет нормально показываться в утф-8. Потом заменяем в нем все вхождения ср1251 на утф8. И разворачиваем. ЗЫ возможно при разорачивании дампа нужно указать параметр --default-charset=utf8
  3. Таки этого оказалось не достаточно, опять таки потомучто УТФ будет полдноценно поддерживаться ПЫХой только с 6ой версии, а пока приходится извращатся. Не корректно работает preg_match, опять заменяем все одноименные функции find /var/www/sitename/data/forum -name "*.php" | xargs perl -pi -e 's/preg_replace\(/mb_preg_replace\(/g' после чего в файле ipclass добавляем перед функцией mb_unserialize, следующий код: function mb_preg_replace ($pattern , $replacement , $subject) { return preg_replace($pattern."u",$replacement, $subject); } при этом в функции mb_unserialize, используем просто preg_replace(), без mb.
  4. http://www.ibresource.ru/forums/index.php?showtopic=54104
  5. IPB2ГЕА-8: HowTo 1. распаковываем из папки upload дистрибутива IPB в папку на сервере где будет лежать форум 2.переименовываем conf_global.php.dist в conf_global.php и выставляем права 777 для install/installfiles cache cache/lang_cache cache/skin_cache uploads style_images conf_global.php #!/bin/bash -x # write by kudrin.alexandr@gmail.com by | sportbox.ru # --- CONFIG SECTION --- SDIR="/var/www/test.site.ru/data/forum" # forum full dir without slash '/' in the end MYSQLHOST="localhost" # MySQL Host MYSQLUSER="root" # MYSQL user MYSQLPASSWORD="12345" # Password of MySQL USER MYSQLDB="lasttest" # Forum Database # --- END CONFIG SECTION --- # --- OPTIONAL CONFIG --- SCP="windows-1251" # codepage for 'iconv' EXT=".*\.(htm[l]*|php[3]*|js|css|sql)$" #files extensions for coding FCS="windows-1251" # charset for replace # Destination Dir's params DDIR=$SDIR"_utf/" # with slash '/' in the end MDIR=$SDIR"_utf_mb/" # with slash '/' in the end DCP="UTF-8" # codepage for 'iconv' TCS="UTF-8" # new charset mkdir $DDIR mkdir $MDIR CDIR=$SDIR"_cp1251/" mkdir $CDIR SDIR=$SDIR"/" echo > $SDIR # --- END OPTIONAL CONFIG --- # --- Files 2 utf8 # Make new copy cp -aR $SDIR* $DDIR cp -aR $SDIR* $MDIR # Flush miscoded files find $DDIR -type f | grep -E "$EXT" | xargs -i rm -f {} # Convert From To find $SDIR -type f | grep -E "$EXT" | sed "s#$SDIR##" | xargs -i echo {} | \ while read f do iconv -c -f $SCP -t $DCP -o "$DDIR$f" "$SDIR$f" cat "$DDIR$f" | replace "unserialize" "mb_unserialize" > "$MDIR$f" # Revert MODE & OWNER chmod `find "$SDIR$f" -maxdepth 0 -printf "%m"` "$DDIR$f" chown `find "$SDIR$f" -maxdepth 0 -printf "%u:%g"` "$DDIR$f" # Replace strings perl -pi -e "s#content\s*\=\s*[\"'].*?charset\s*=\s*$FCS.*?[\"']#content=\"text/html; charset=$TCS\"#g" "$DDIR$f" done mv $SDIR* $CDIR mv $MDIR* $SDIR rm -dfr $MDIR #MySQL 2 utf8 # Dump our DB mysqldump --user=$MYSQLUSER --password=$MYSQLPASSWORD $MYSQLDB --allow-keywords --create-options --complete-insert --default-character-set=cp1251 --add-drop-table > dump_$MYSQLDB.sql # Convert dump file iconv -f cp1251 -t UTF-8 dump_$MYSQLDB.sql > dump_$MYSQLDB"_utf8.sql" # Replace all cp1251 cat dump_bdname_utf8.sql | replace "cp1251" "utf8" > dump_$MYSQLDB"_utf8_replace.sql" # Drop our DB yes | mysqladmin --user=$MYSQLUSER --password=$MYSQLPASSWORD drop $MYSQLDB # Create DB and _bak mysqladmin --user=$MYSQLUSER --password=$MYSQLPASSWORD create $MYSQLDB"_bak" mysqladmin --user=$MYSQLUSER --password=$MYSQLPASSWORD create $MYSQLDB # SEt default codepage mysql --user=$MYSQLUSER --password=$MYSQLPASSWORD --execute="USE $MYSQLDB"_bak"; ALTER DATABASE $MYSQLDB"_bak" DEFAULT CHARACTER SET cp1251 COLLATE cp1251_general_ci" mysql --user=$MYSQLUSER --password=$MYSQLPASSWORD --execute="USE $MYSQLDB; ALTER DATABASE $MYSQLDB DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" mysql --user $MYSQLUSER --password=$MYSQLPASSWORD $MYSQLDB --default-character-set=utf8 < dump_$MYSQLDB"_utf8_replace.sql" mysql --user $MYSQLUSER --password=$MYSQLPASSWORD $MYSQLDB"_bak" --default-character-set=cp1251 < dump_$MYSQLDB.sql Что он делает? архивирует ваш форум в папку SDIR_сp1251 переводит все файлы в кодировку UTF-8 и сохраняет все это добро в папке SDIR_utf в первоначальной папке SDIR оказывается форум в utf 8 во всех файлах функция unserialize заменена на mb_unserialize берет вашу БД делает дамп в файл dump_MYSQLBD.sql берет вашу перегоняет дамп в кодировку UTF файл dump_MYSQLBD_utf.sql заменяет все DEFAULT CHARSET с cp1251 на utf-8 и сохрает результат в файл dump_MYSQLBD_utf_replace.sql дамп с dump_MYSQLBD_utf_replace.sql импортирует в MYSQLBD дамп с dump_MYSQLBD.sql импортирует в MYSQLBD_bak 5.открываем /forum/sources/ipsclass.php и в самое начало добавляем функцию /взята с http://ru2.php.net/unserialize написанна skinnepa at hotmail dot com/ function mb_unserialize($serial_str) { $out = preg_replace('!s:(\d+):"(.*?)";!se', "'s:'.strlen('$2').':\"$2\";'", $serial_str ); return unserialize($out); } 6.в config_global.php выставить $INFO['mysql_codepage'] = 'utf8'; 7.теперь переключаем ваш кодировку для отображения в вашем браузере UTF-8 и заходим в админку НАСТРОЙКИ -> общие настройки -> Кодировка документов -> UTF-8. Сохраняем собственно все.
  6. м... а если наоборот? ты не пробывал? мне нужно наоборот сделать свой авторизационный прикрутить к форуму ... может что посоветуешь?
  7. Имеется портал который имеет свой авторизационный модуль, на pgsql, со своими куками... со своей структурой, котороую впринципе можно расширять и дополнять. Задача сосотит в том чтобы прикрутить готовый модуль авторизации, к форуму. Хотелось бы узнать кто сталкивался \ решал подобную задачу? рекомендации по документаци... ну и т.д.
×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.