Перейти к содержанию
Форум поддержки пользователей VamShop

ЮНИКОД НЕ ПРИНИМАЕТ РАМБЛЕР И МЭЙЛ


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

Саш привет,в общем проблема серьезная и решить ее нужно сегодня. Вот письмо которое прислали моему директору по поводу кодировки:

Еще раз , добрый день, Вардан!

По поводу прайса pili-net.ru, не могу загрузить его в систему т.к. не та кодировка.

С уважением,

Целовальникова Екатерина

ООО "Бизнес-студия"

тел. (495) 771-30-78

ICQ 253-823-706

katrin@stavka.ru

www.stavka.ru

И еще такой вопрос, скорее не вопрос а просьба.

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

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

А что значит не принимает, поисковики нормально всё принимают, любые сайты в любых кодировках.

Что ты отправляешь рамблеру и mail'у, не совсем понятно.

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

Саш,отправляется выгрузка в XML

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

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

[code]Имеется в виду market.php файл, я правильно понял?!
Тогда в /market.php
Меняй:
[code]
$charset = (YML_UTF8 == 'true') ? 'utf-8' : $_SESSION['language_charset'];
[/code] на:
[code]
$charset = 'windowsd-1251';

function tep_iconv($text) {


    if (function_exists('iconv')) {

      return iconv('UTF-8', CHARSET, $text);
    } else {

      return $text;

    }
  }
и затем в самом файле где выводятся данные, нужно использовать функцию tep_iconv т.е. например менять:

"  <name>" . _clear_string($prev_prod['products_name']) . "</name>\n";

[/code] на:
[code]
"  <name>" . _clear_string(tep_iconv($prev_prod['products_name'])) . "</name>\n";

ниже:

echo "  <description>" . _clear_string($prev_prod['products_description']) . "</description>\n";

[/code] на:
[code]
echo "  <description>" . _clear_string(tep_iconv($prev_prod['products_description'])) . "</description>\n";

По идее, файл с данными будет в cp1251 кодировке. и ещё сверху есть:

_clear_string(tep_iconv($categories["categories_name"])) .

[/code]

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

[code]Имеется в виду market.php файл, я правильно понял?!
Тогда в /market.php
Меняй:
[code]
$charset = (YML_UTF8 == 'true') ? 'utf-8' : $_SESSION['language_charset'];
[/code] на:
[code]
$charset = 'windowsd-1251';

function tep_iconv($text) {


    if (function_exists('iconv')) {

       return iconv('UTF-8', CHARSET, $text);
    } else {

      return $text;

    }
  }
и затем в самом файле где выводятся данные, нужно использовать функцию tep_iconv т.е. например менять:

"  <name>" . _clear_string($prev_prod['products_name']) . "</name>\n";

[/code] на:
[code]
"  <name>" . _clear_string(tep_iconv($prev_prod['products_name'])) . "</name>\n";

ниже:

echo "  <description>" . _clear_string($prev_prod['products_description']) . "</description>\n";

[/code] на:
[code]
echo "  <description>" . _clear_string(tep_iconv($prev_prod['products_description'])) . "</description>\n";

По идее, файл с данными будет в cp1251 кодировке. и ещё сверху есть:

_clear_string(tep_iconv($categories["categories_name"])) .

[/code]

Извени,это я должен в каждой версии так делать ?!

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

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

Я с юникода назад на cp1251 не вернусь, к сожалению.

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

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

Я с юникода назад на cp1251 не вернусь, к сожалению.

Ты не понял,я имею в виду ,что можно ведь делать версию магазина на двух кодировках, т.е в архиве две версии одна на русском вторая на индусском  (одна папка с магазином на юникоде, вторая на кирилице).

Если ты такой принципиальный, то подумай о других,а если человек первый раз с этим вообще сталкивается?

И еще смотри,рамблер XML не принимает ни в какую,кодировка всеравно не та какая нужна,мне ради тоего принципа все потерять вообще чтоли?????????????????????????????????????

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

Нет, вести версии на 2 кодировка - это в два раза больше времени, я себе пока такого позволить не могу.

Покажи свой market.php, дай ссылку, посмотрю, какой получился, наверное не везде проставил tep_iconv.

Я ж ещё раз говорю, я делаю так, как считаю нужным, юникод - это вполне оправданная мера, это универсальная кодировка для всех языков, к cp1251 я возвращаться не буду, в osC VaM cp1251 и довольно часто из-за неё тоже проблемы на мультичзычных магазинах, особенно в ведением базы товаров, с backup'ами.

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

Да мне плевать на мультиязычные магазины,я работаю на наш НА РООССИЙСКИЙ рынок,мне по баробану другие страны,

на форуме это уже обсуждалось.Как перекодировать ты мне пимер приводит,все это фуфло

for a in `find . -name '*.php'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.html'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.txt'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.sql'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.js'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.css'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.conf'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

for a in `find . -name '*.xml'`; do mv $a $a.1251;iconv -f windows-1251 -t utf-8 $a.1251 > $a;done

удалить backup'ы:

for a in `find . -name '*.1251'`; do rm $a;done

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

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

Тебе по барабану, а мне нет.

Говорю ещё раз, у меня сейчас нет возможности вести две кодировки.

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

Короче я понял только одно,что переведен XT commerce а не вам шоп,и ты просто незнаешь как это делать,нехорошо поступаешь приятель...

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

leshka

Я Вам не приятель, и фамильярничать не надо.

С таким отношением попрошу никаких вопросов мне больше не задавать, отвечать дальше не собираюсь.

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

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

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

Перепиши этот файл market.php к себе в магазин.

В /lang/russian/admin/configuration.php замени:


define('YML_UTF8_TITLE' , 'Перекодировка в UTF-8');
[/code] на:
[code]
define('YML_UTF8_TITLE' , 'Перекодировка в windows-1251');

В Админке - Настройки - Яндекс-маркет - Перекодировка в windows-1251 поставь true.

По идее, все данные будут в cp1251 в файле market.php

market.php

Ссылка на сообщение
Поделиться на другие сайты
  • 4 weeks later...

Перепиши этот файл market.php к себе в магазин.

В /lang/russian/admin/configuration.php замени:


define('YML_UTF8_TITLE' , 'Перекодировка в UTF-8');
[/code] на:
[code]
define('YML_UTF8_TITLE' , 'Перекодировка в windows-1251');

В Админке - Настройки - Яндекс-маркет - Перекодировка в windows-1251 поставь true.

По идее, все данные будут в cp1251 в файле market.php

Таже проблема.

"Перепиши этот файл market.php к себе в магазин." - не понял, какой этот? Там где-то ссылка должна была стоять?

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

Таже проблема.

"Перепиши этот файл market.php к себе в магазин." - не понял, какой этот? Там где-то ссылка должна была стоять?

В строке:

$charset = (YML_UTF8 == 'true') ? 'UTF-8' : $_SESSION['language_charset'];

UTF-8 изменил на windows-1251.

И тоже самое сделал внизу, в функции _clear_string.

И заработало! :)

Если что-то неправильно и что-то еще надо сделать - поправьте, плз.

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

Nenion

Если у Вас текущая версия 1.45 магазина, то просто в Админке - Настройки - Яндекс-маркет - Перекодировать в cp1251 поставьте true и всё.

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

Нет, у меня версия 1.40. И обновить больше не могу - год со дня покупки уже прошел.

Кстати, сколько стоит продление поддержки?

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

Скачай 1.45 патч в файлах и возьми из него файл market.php

Только свой старый файл тоже сохрани.

Попробуй новый файл, по идее, перекодировка должна работать.

P.S. Продление на год с 50% скидкой, т.е. 40$ или 1000 руб.

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