Форум dkLab и Denwer
Здесь общаются Web-разработчики.
Генеральный спонсор:
Хостинг «Джино»

Требуется помощь в перекодировке скрипта (Bihkul)
Author Message
Bihkul
Заглянувший



Joined: 19 Nov 2008
Posts: 3
Карма: 0
   поощрить/наказать

Location: Казахстан

PostPosted: Wed Nov 19, 2008 10:45 am (написано за 5 минут 50 секунд)
   Post subject: Требуется помощь в перекодировке скрипта
Reply with quote

Прошу помочь в перекодировке скрипта, сам только начинаю изучать всю эту науку. Суть в следующем. При отправке заявки он открывает окно, но с непонятной кодировкой (извените за слэнг...я чайник), нужно чтобы было на русском естественно с сахронением наименования товара. Вот сам скрипт:
Code (JavaScript): скопировать код в буфер обмена
<SCRIPT language=JavaScript>
<!--
// Code by Greg Galloway 1997

function createArray(size) {
for (var i=0; i < size; i++) {
this[i] = null }
return this
}

function Product(descrip, money) {
this.description = descrip;
this.price = money;
}

function Category(name) {
this.title = name;
this.product = new createArray(1);
this.product[0] = new Product("Пожалуйста, выберите продукт", 0.00);
}

var category = new createArray(1);

// STEP NUMBER ONE
// enter the color for rows of the table
// (either javascript name or hex code)
color1 = "tan";
color2 = "khaki";


category[1] = new Category("ЭЛЕКТРОТЕХНИКА");
category[1].product[1] = new Product("Телевизор", 2550);
category[1].product[2] = new Product("Пылесос", 30);
category[1].product[3] = new Product("Музыкальный центр", 150);

category[2] = new Category("АЛКОГОЛЬНЫЕ НАПИТКИ");
category[2].product[1] = new Product("Шампанское", 15.50);
category[2].product[2] = new Product("Коньяк", 39.95);

category[3] = new Category("ПЕЧАТНЫЕ ИЗДАНИЯ");
category[3].product[1] = new Product("Газета", .99);
category[3].product[2] = new Product("Детектив", 5.23);

category[4] = new Category("ДЕЛИКАТЕСЫ");
category[4].product[1] = new Product("Икра (200гр)", 12);
category[4].product[2] = new Product("Икра (250гр)", 13);

category[5] = new Category("ПРОДУКТЫ МОРЯ");
category[5].product[1] = new Product("Икра (200гр)", 12);
category[5].product[2] = new Product("Икра (250гр)", 13);


// ***** NO NEED TO CHANGE ANY CODE AFTER THIS COMMENT ***

function SetLengths() {
var k=1;
while(category[k] != null)
k++
category.length = k;
for (i=1; i<category.length; i++) {
var j=1;
while (category[i].product[j] != null)
j++;
category[i].product.length = j;
}
}

SetLengths();
function writeSelect(num) {
leng = 15;
options = new createArray(leng);
options[0] = 0;
options[1] = 1;
options[2] = 2;
options[3] = 3;
options[4] = 4;
options[5] = 5;
options[6] = 6;
options[7] = 7;
options[8] = 8;
options[9] = 9;
options[10] = 10;
options[11] = 11;

html_code=""

html_code += 'quantity:<br><select size=1 name="quantity'+num+'" '
+ 'onChange="update(' + num + ')">';
for (o=0;o<leng;o++)
html_code += '<option value="'+options[o]+'"'
+ ((o==0) ? ' selected>':'>') + options[o];
html_code += '</select>';
return html_code;
}
function writeTableRow(i) {
document.write('<tr bgcolor="' + ((i%2 == 0) ? color1 : color2) + '">');
document.write('<td>' + category[i].title.toUpperCase() + ':<br>'
+ '<select size="1" name="menu' + i + '" onChange="update(' + i + ')">');
len = category[i].product.length;
for (j=0; j<len; j++) {
if (j != 0)
document.write('<option>' + category[i].product[j].description
+ ' - тенге' + fix(category[i].product[j].price) + '</option>');
else
document.write('<option selected value=" ">Пожалуйста, выберите тему</option>');
}
document.write('</select></td><td valign=bottom>'
+ '<input type="text" value="0.00" name="price' + i + '" '
+ 'size=12 maxlength=12 onFocus="document.form1.price' + i + '.blur()">'
+ '</td><td valign=bottom>' + writeSelect(i) + '</td></tr>');
}

function writeTable() {
document.write('<table cellspacing=5 cellpadding=10 border=0>');
for (i=1; i<category.length; i++)
writeTableRow(i);
document.write('<tr bgcolor="' + ((category.length%2==0) ? color1 : color2)
+ '"><td align=right>ВСЕГО НА СУММУ: </td><td><input type="text" '
+ 'name="total" size=12 maxlength=12 value="0.00"></td></tr></table>');
}

function update(num) {
eval('selected = document.form1.menu' + num + '.selectedIndex;');
eval('q_selected = document.form1.quantity' + num + '.selectedIndex;');
eval('quant = document.form1.quantity' + num + '.options[q_selected].value;');
cost = fix(category[num].product[selected].price * quant);
eval('document.form1.price' + num + '.value = cost;');
var grand_total = 0;
for (i=1; i<category.length; i++)
eval('grand_total += parseFloat(document.form1.price' + i + '.value);');
document.form1.total.value = fix(grand_total);
}
function fix(num) {
string = "" + num;
if (string.indexOf('.') == -1)
return string + '.00';
seperation = string.length - string.indexOf('.');
if (seperation > 3)
return string.substring(0,string.length-seperation+3);
else if (seperation == 2)
return string + '0';
return string;
}

function validate_form() {
validity = true;
if (document.form1.shopper_name.value == "") {
alert('Введите Ваше имя!');
validity = false;
}
if (document.form1.email.value == "") {
if (confirm("Вы будете вводить email адрес?"))
valid = false;
else
document.form1.email.value = 'email адрес не введен';
}
if (document.form1.phone.value == "") {
alert('Вы должны ввести номер Вашего телефона!');
validity = false;
}
if (document.form1.bill.value == "") {
alert('Введите адрес для отправки счета!');
validity = false;
} else if (document.form1.mail.value == "") {
if (!confirm("Отправлять заказ по томуже адресу, что и счета?"))
validity = false;
else
document.form1.mail.value = 'тот же, что и адрес для счета';
}
if (validity){
alert("Спасибо за заказ!");
return true;
}
else{
return false;
}
}
// -->
</SCRIPT>

<META content="MSHTML 6.00.6000.16735" name=GENERATOR></HEAD>
<BODY>
<CENTER>
<CENTER>
<TABLE align=center bgColor=gray border=2>
  <TBODY>
  <TR>
    <TD align=middle><FONT face="Arial, Helvetica, Geneva" color=#ffffff
      size=+2><B>Онлайновый заказ Сфера LTD</B></FONT> <FONT color=#000000
      size=3><BR><BR><!----БЕЛЫМ ЦВЕТОМ ВЫДЕЛЕН ВАШ АДРЕС--->
      <FORM name=form1 onsubmit="return validate_form()"
      action="mailto:bihkul@mail.ru ?SUBJECT=Заказ онлайн" method=post
      encType=text/plain>
      <SCRIPT language=JavaScript>
writeTable();
</SCRIPT>

      <TABLE cellSpacing=0 cellPadding=5 bgColor=tan>
        <TBODY>
        <TR>
          <TD align=middle>Ф.И.О: <INPUT size=59
            name=shopper_name><BR>Email:&nbsp;&nbsp;&nbsp; <INPUT size=44
            name=email>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
            &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<BR>Код города и
            телефон:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
             
            <INPUT maxLength=5 size=5
            name=expiration_date>&nbsp;&nbsp;&nbsp;&nbsp; </TD></TR>
        <TR>
          <TD align=middle>Отправить счет (кому, куда):<BR><TEXTAREA name=bill rows=5 wrap=virtual cols=40></TEXTAREA>
          </TD></TR>
        <TR>
          <TD align=middle>Отправить заказ (куда, кому):<BR><TEXTAREA name=mail rows=5 wrap=virtual cols=40></TEXTAREA>
          </TD></TR></TBODY></TABLE><BR><INPUT type=submit value="Отправить заказ" name=submit>&nbsp;
<INPUT type=reset value=Сброс><BR></FORM></FONT></TD></TR></TBODY></TABLE></CENTER></CENTER><BR>
<CENTER>
<SCRIPT type=text/javascript><!--
google_ad_client = "pub-5434649905983438";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text";
//2007-07-05: Скрипты
google_ad_channel = "3032347849";
//-->
</SCRIPT>

<SCRIPT src="4_files/show_ads.js" type=text/javascript>
</SCRIPT>
А вот что получается при отправке:

menu1=ТелевиЕор - тенге2550.00
price1=28050.00
quantity1=11
menu2=Шампанское - тенге15.50
price2=31.00
quantity2=2
menu3=Детектив - тенге5.23
price3=52.30
quantity3=10
menu4=Р˜РєСЂР° (250РіСЂ) - тенге13.00
price4=104.00
quantity4=8
menu5=Р˜РєСЂР° (200РіСЂ) - тенге12.00
price5=36.00
quantity5=3
total=28273.30
shopper_name=Потякин Владимир Владимирович
email=bi_kul@mail.ru
expiration_date=77056
bill=Vjynf;ybrjd 18
mail=Монтажников 18
submit=Отправить ЕакаЕ

Надеюсь на Вашу помощь и заранее благодарю!
Back to top
View user's profile Send private message Send e-mail
bæv
Модератор «Дзена»



Joined: 27 Aug 2003
Posts: 7275
Карма: 9988
   поощрить/наказать


PostPosted: Wed Nov 19, 2008 1:42 pm (спустя 2 часа 57 минут; написано за 4 минуты 37 секунд)
   Post subject:
Reply with quote

Bihkul, а где у Вас в HTML кодировка задаётся?
У Вас сейчас запрос идёт в юникоде, Вам надо поменять на нужную Вам кодировку.

К примеру, вставить перед /HEAD что-то типа:
Code (html): скопировать код в буфер обмена
<META (december.com/html/4/element/meta.html) HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1251"> (december.com/html/4/element/.html)


Вообще, «для начинающих» ищите другой форум. А тут — форум для специалистов (о чём вверху слева и написано).
Back to top
View user's profile Send private message
Bihkul
Заглянувший



Joined: 19 Nov 2008
Posts: 3
Карма: 0
   поощрить/наказать

Location: Казахстан

PostPosted: Wed Nov 19, 2008 3:18 pm (спустя 1 час 36 минут; написано за 1 минуту 47 секунд)
   Post subject:
Reply with quote

Большое спасибо за помощь. А по поводу форума...согласитесь я сюда и пришел за помощью потому как здесь профессионалы. В любом случае спасибо.
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Sat Nov 22, 2008 10:26 am (спустя 2 дня 19 часов 8 минут; написано за 1 минуту 19 секунд)
   Post subject:
Reply with quote

Bihkul,

М

прошу в следующий раз прочитать правила форума. ;)
А то вы даже в заголовке ошибку сделали.
P.S. Засунул код в соответствующий тег, ошибку в заголовке исправил.

Теперь вы хоть в посте исправьте ошибки.
Back to top
View user's profile Send private message Send e-mail
ПС
Guest





Карма: 388
   поощрить/наказать


PostPosted: Sat Nov 22, 2008 2:36 pm (спустя 4 часа 9 минут; написано за 4 минуты 20 секунд)
   Post subject:
Reply with quote

Александр Михалицын wrote:
Bihkul,

Теперь вы хоть в посте исправьте ошибки.
Для уважаемого Бихкула русский второй язык. Поэтому будем снисходительны. Я сам был в аналогичной ситуации, когда задал вопрос на JavaRanch
и вместо ответа от уважаемого "Медведя" Бибо услышал типа "Какого члена (what on earth) ты это спрашиваешь. Выучи английский"
PS. JavaRanch в отличие от этого - форум для начинающих.
Back to top
Guest






Карма: 388
   поощрить/наказать


PostPosted: Sat Nov 22, 2008 2:38 pm (спустя 2 минуты; написано за 4 минуты 32 секунды)
   Post subject:
Reply with quote

ПС wrote:
Александр Михалицын wrote:
Bihkul,

Теперь вы хоть в посте исправьте ошибки.
Для уважаемого Бихкула русский второй язык. Поэтому будем терпеливы. Я сам был в аналогичной ситуации, когда задал вопрос на JavaRanch
и вместо ответа от уважаемого "Медведя" Бибо услышал типа "Какого члена (what on earth) ты это спрашиваешь. Выучи английский"
PS. JavaRanch в отличие от этого - форум для начинающих.
Back to top
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Sat Nov 22, 2008 2:50 pm (спустя 11 минут; написано за 36 секунд)
   Post subject:
Reply with quote

Quote:
Поэтому будем снисходительны
Меня поразил один факт:
в сообщении слово перекодировка он написал правильно,
а в заголовке нет, так что это не отговорка.
Back to top
View user's profile Send private message Send e-mail
Bihkul
Заглянувший



Joined: 19 Nov 2008
Posts: 3
Карма: 0
   поощрить/наказать

Location: Казахстан

PostPosted: Sat Nov 22, 2008 6:56 pm (спустя 4 часа 6 минут; написано за 4 минуты 41 секунду)
   Post subject:
Reply with quote

Лично мне нужна вообщето была помощь специалистов, я очень слабо понимаю в этом деле, я так и не понял что за "ошибка в посте"....ну не к терапевту ж мне обращаться! Мне это все напоминает ситуацию с умирающим на операционном столе на Пасху, собрались хирурги...покрасили ему яйца зеленкой и йодом, опрокинули по 50 и пошли курить.
Все, модератор может меня удалять.
Back to top
View user's profile Send private message Send e-mail
Александр Михалицын
Модератор



Joined: 23 May 2008
Posts: 1299
Карма: 83
   поощрить/наказать


PostPosted: Sat Nov 22, 2008 6:58 pm (спустя 1 минуту 57 секунд)
   Post subject:
Reply with quote


М

Тема закрыта.
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   This topic is locked: you cannot edit posts or make replies. All times are GMT + 3 Hours
Page 1 of 1    Email to a Friend.
You cannot post new topics in this forum. You cannot reply to topics in this forum. You cannot edit your posts in this forum. You cannot delete your posts in this forum. You cannot vote in polls in this forum. You cannot attach files in this forum. You can download files in this forum.
XML