Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Проблема с кодировкой 
:(
    Опции темы
linker
Дата 16.10.2003, 15:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 10.7.2002
Где: Питер

Репутация: нет
Всего: нет



На одной странице есть новости и просто текст. Проблема в том что новости и текст в различных кодировках.Как быть.
PM MAIL ICQ   Вверх
HalkaR
Дата 16.10.2003, 20:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Пуфыстый назгул
****


Профиль
Группа: Экс. модератор
Сообщений: 2132
Регистрация: 8.12.2002
Где: В Москве

Репутация: нет
Всего: 42



1. Я не понял, а как пользователь будет с этим работать?
2. Можно перекодировать текст или новости в нужную кодировку.
PM MAIL   Вверх
NightGoblin
Дата 16.10.2003, 21:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1021
Регистрация: 24.11.2002
Где: 127.0.0.1

Репутация: нет
Всего: 11



Дык, только перекодировать... Кстати, я уже писал ответ по похожей теме здесь, может быть поможет? И какие у тебя кодировки?... там только cp1251 и koi8-r...


--------------------
Kernel panic: /dev/null overflow!
GCS/IT/MU/O d-@ s: a- C++$>++++$ ULSB(+++) P+++ L+++>++++ !E W++(-) N o? K w-- O? M>+ V? PS+ PE Y+ PGP+>+++ t- 5 X+ R- !tv b+ DI+ D+ G e++ h--- r++ y?
B4F1 54B6 8738 26CD 5125 0581 B923 9273 FE59 1981
PM MAIL WWW ICQ   Вверх
linker
Дата 17.10.2003, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 10.7.2002
Где: Питер

Репутация: нет
Всего: нет



Вот скрипт который добавляет новости
[CODE]#!/usr/bin/perl

require "pvd-cgf.pl";
require "pvd-lib.pl";


print "Content-type: text/html\n\n";

($a1,$a2,$a3,$a4,$a5,$a6,$a7,$a8,$a9,$a10,$a11,$a12,$a13)=stat("$adrfile");
if ($a8==0) {print "Нет новостей";exit;}

open AAA,"<$adrfile";
@lista=<AAA>;
$size=@lista;
close AAA;
if ($ENV{'QUERY_STRING'}=~ /viewarchiv/i) {
$start=$size-1-$kolnews;
$end=0;
} else {
$start=$size-1;
$end=$size-$kolnews;
}

for ($i=$start;$i>=$end;$i--) {
if ($lista[$i]) {
@record=split(/\|/,koitowin($lista[$i]));
$record[1]=~ s/\x01/\n<br>/igm;
$news0= $news;
$news0=~ s/<hd>/$record[0]/igm;
$news0=~ s/<txt>/$record[1]/igm;
print $news0;
} else {exit}
if ($i==0) {exit}
}
До его исполнения новости находятся в кодировке windows-1251 после в koi
Где ошибка??
PM MAIL ICQ   Вверх
korob2001
Дата 18.10.2003, 00:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 13
Всего: 61



Попробуй явно указать кодировку. Замени строку:

print "Content-type: text/html\n\n";

на:

print "Content-type: text/html; charset=Windows-1251\n\n";

Это сообщение отредактировал(а) korob2001 - 18.10.2003, 00:50


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
MuToGeN
Дата 18.10.2003, 11:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Лесник
****


Профиль
Группа: Модератор
Сообщений: 4379
Регистрация: 15.8.2002
Где: Москва

Репутация: нет
Всего: 32



Цитата
Попробуй явно указать кодировку.
Оно не поможет.


--------------------
Three pings for the token rings,
Five pings for the UNIX machines,
Hundred pings for the broken links,
One special ping to check them all
Through Simple Network Management Protocol!
PM MAIL ICQ   Вверх
linker
Дата 19.10.2003, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 197
Регистрация: 10.7.2002
Где: Питер

Репутация: нет
Всего: нет



Я разобрался, как оказалось это новостной скрипт PVD Labs у них в одной из версий этого скроипта такая ботва с кодировкой.А в более поздней версии такого нет. Тупо сравнил скрипты(незнаю из-за этого или нет,но отличаются совсем немного)
это старая версия
@record=split(/\|/,koitowin($lista[$i]));
это более новая
@record=split(/\|/,($lista[$i]));

Это сообщение отредактировал(а) linker - 19.10.2003, 11:18
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl: CGI программирование"
korob2001
sharq
  • В этом разделе обсуждаются вопросы относящиеся только к CGI программированию
  • Если ваш вопрос не относится к системному или CGI программированию, задавайте его в общем разделе
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", качать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: разработка для Web | Следующая тема »


 




[ Время генерации скрипта: 0.0475 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.