Файл с windows-1251, в сайт под UTF-8?

Spoonk

New member
Здравейте Мастъри,
не ме бийте много ако въпросът ми е вече обсъждан - не успях да намеря във форума нищо по него.

Имам сайт, който е на UTF-8. Пуснал съм радио в него (ламерщина, от Winamp, разбира се). Намерих и скрипт, който ми показва последните 10 просвирени песньовки в сайта. Лошото идва, когато съм просвирил някоя песен с БГ заглавие. В сайта се визуализират едни дълги �����. Скрипта който "хваща" тези песни е изнесен във външен файл, и инклуднат в сайта с include. Когато отида в самия файл със скрипта (lastplayed.php), и го заредя под Windows-1251, заглавията стават идеално четими.
Е, как да направя тъй, че и във сайта ми, инклуднатия файл да се чете, при условие, че сайта както вече споменах е на UTF-8?

P.S: Oпитах със
Код:
$title_utf8 = mb_convert_encoding($trackArr ,"utf-8" ,"auto");
но не се получава. Опитах същото и с iconv но... пак на камък ударих.
Ако трябва да прикача файла със скрипта за fetch на данните, може би не използвам тези функции на правилното място?

Благодаря Ви, предварително, и моля за снизхождение към новобранеца 🙂
 
Re: Файл с windows-1251, в сайт под UTF-8?

принципно iconv трябва да ти свърши работата

$title_utf8 = iconv("cp1251", "UTF-8", $trackArr);

Невероятно но факт - не помага?
Добре, пускам линк към самия файл (lastplayed.php): //solved
Пускам и линк към сайта ми, в който е този файл: http://spoonk.eu
Ако искаш да прикача и файла със скрипта (демек скрипта във lastplayed.php)?
 
Последно редактирано:
Re: Файл с windows-1251, в сайт под UTF-8?

добре де сигурен ли си че скрипта получава текста като cp1251???, защото само по една причина може да не работи кода, ако скрипта не го получава както трябва. виж сложи в lastplayed.php

<meta http-equiv="content-type" content="text/html; charset=windows-1251" />
 
Re: Файл с windows-1251, в сайт под UTF-8?

добре де сигурен ли си че скрипта получава текста като cp1251???, защото само по една причина може да не работи кода, ако скрипта не го получава както трябва. виж сложи в lastplayed.php

<meta http-equiv="content-type" content="text/html; charset=windows-1251" />

Когато сложа това, в lastplayed.php, всичко се визуализира идеално. За това и казвам, че явно го получава в Windows-1251...

Според мен, не използвам $title_utf8 = iconv("cp1251", "UTF-8", $trackArr); на правилното място в скрипта. И по тази логика, май е най-добре да прикача lastplayed.php, за да погледнеш, къде съм го ръчнал, и е възможно да откриеш причината за това? 🙂
 
Последно редактирано:
Re: Файл с windows-1251, в сайт под UTF-8?

определено причината е в PHP СКРИПТА,... ЕДИН РЕД САМО Е СГРЕШЕН,...
ТРЯБВА ДА ПОКАЖЕШ скрипта за да коментираме,...
🙂
 
Re: Файл с windows-1251, в сайт под UTF-8?

Благодаря на всички за помощта. Проблема се реши 🙂
 
Re: Файл с windows-1251, в сайт под UTF-8?

кажи поне каде е бил проблема 🙂

Всъщност се свързах по мейла с онзи който е писал скрипта. Той го преработи днес, и ми го пусна. Разглеждайки го, установих, че е добавил някакви допълнителни функции:

Код:
	function setOutputEncoding($charset)
	{
		$this->outputEncoding = $charset;
	}
	function setInputEncoding($charset)
	{
		$this->inputEncoding = $charset;
	}
	function setStreamEncoding($charset)
	{
		$this->streamEncoding = $charset;
	}

Целия скрипт се извиква с този код:
Код:
include "shoutcast_class.php";
$radio = new Radio($ip.":".$port);
echo $radio->setInputEncoding('windows-1251');
echo $radio->setOutputEncoding('UTF-8');
echo $radio->getHistoryTable("/played.html", "<b>Последни десет песни:</b>", "lastplayed_content");

Това е... Какъв беше проблема, защо не се получи, хал хабер си нямам 🙂) Защо сега се получава, също 🙂) Чайник съм си още, ще уча, ще уча, и някой ден ще разбера 🙂
 

Back
Горе