php програмеры, помогите с юникодом

Slc
На сайте с 27.06.2003
Offline
150
Slc
592

Вот кусок скрипта выводящий ссылки на площадках:

<?php

$origin=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$str="http://***?origin=".urlencode($origin);
$str=file_get_contents($str);

echo $str;
?>

Если страница, где размещаются ссылки в кодировке UTF-8, ссылки получаются квадратиками, т.к. выдаются, по видимому, в windows кодировке.

Можно как-то подправить скрипт, чтобы он отдавал $str в UTF-8?

Спасибо :)

B
На сайте с 08.02.2007
Offline
14
#1

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


<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>123</title>
</head>
<body>
<?php
$origin=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$str="http://***?origin=".urlencode($origin);
$str=file_get_contents($str);

echo $str;
?>
</body>
</html>

или я неправильно вопрос понял

ANTICHAT user
edogs software
На сайте с 15.12.2005
Offline
775
#2

Или http://php.net/convert_cyr_string с параметрами i w перед выводом, или смотрите там же - только ниже, в комментариях, о преобразовании utf в кошерный windows.

Разработка крупных и средних проектов. Можно с криптой. Разумные цены. Хорошее качество. Адекватный подход. Продаем lenovo legion в спб, дешевле магазинов, новые, запечатанные. Есть разные. skype: edogssoft
Slc
На сайте с 27.06.2003
Offline
150
Slc
#3

backup, не сработало

edogs, :) Спасибо за ссылку, с третьей попытки заработало :)


<?php
$origin=$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
$str="***?origin=".urlencode($origin);
$str=file_get_contents($str);

function unicode_russian($stroka) {
$encode = "";

for ($ii=0;$ii<strlen($stroka);$ii++) {
$xchr=substr($stroka,$ii,1);
if (ord($xchr)>191) {
$xchr=ord($xchr)+848;
$xchr="&#" . $xchr . ";";
}
if(ord($xchr) == 168) {

$xchr = "Ё";
}
if(ord($xchr) == 184) {

$xchr = "ё";
}
$encode=$encode . $xchr;
}
return $encode;
}
$unikod = unicode_russian($str);
echo $unikod;
?>

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий