как перевести русский текст в такую кодировку кра?

ruskam2

Новичок
как перевести русский текст в такую кодировку кра?

Есть русский текст, например: "Всем привет"

Как его конвертировать в символы вида &#1082 ???

Нашел обратную функцию, вот она http://phpclub.ru/faq/encodings/encodings2?v=8b6

а вот в другую сторону нема, кто подскажет ?
 

SiMM

Новичок
> а вот в другую сторону нема
Что мешает написать самому? Примеры есть в том числе и в камментах к FAQ по кодировкам.
 

Вурдалак

Продвинутый новичок
PHP:
<?php

function utf8_ord($c)
{
	switch( strlen($c) )
	{
		case 1:
			return ord($c);
		break;

		case 2:
			return ((ord($c[0]) & 0x1F) << 6) | (ord($c[1]) & 0x3F);
		break;

		case 3:
			return ((ord($c[0]) & 0x0F) << 12) | ((ord($c[1]) & 0x3F) << 6) | (ord($c[2]) & 0x3F);
		break;

		case 4:
			return ((ord($c[0]) & 0x07) << 18) | ((ord($c[1]) & 0x3F) << 12) | ((ord($c[2]) & 0x3F) << 6) | (ord($c[3]) & 0x3F);
		break;

		default:
			return FALSE;
	}
}

$s = 'Всем привет'; # В UTF-8
$s = preg_replace('/\\S/ue', '"&#" . utf8_ord("\\0") . ";"', $s);

echo $s;

?>
 

ruskam2

Новичок
Автор оригинала: Вурдалак
PHP:
<?php

function utf8_ord($c)
{
	switch( strlen($c) )
	{
		case 1:
			return ord($c);
		break;

		case 2:
			return ((ord($c[0]) & 0x1F) << 6) | (ord($c[1]) & 0x3F);
		break;

		case 3:
			return ((ord($c[0]) & 0x0F) << 12) | ((ord($c[1]) & 0x3F) << 6) | (ord($c[2]) & 0x3F);
		break;

		case 4:
			return ((ord($c[0]) & 0x07) << 18) | ((ord($c[1]) & 0x3F) << 12) | ((ord($c[2]) & 0x3F) << 6) | (ord($c[3]) & 0x3F);
		break;

		default:
			return FALSE;
	}
}

$s = 'Всем привет'; # В UTF-8
$s = preg_replace('/\\S/ue', '"&#" . utf8_ord("\\0") . ";"', $s);

echo $s;

?>
вот если бы ещё этот пример работал, то просто замечательно бы было
 

Adelf

Administrator
Команда форума
ruskam2
Сделай так, чтобы заработал. Сам.
У меня кстати эта функция вполне работала. Я ее из phpBB позаимствовал.
 

ruskam2

Новичок
Автор оригинала: Adelf
ruskam2
Сделай так, чтобы заработал. Сам.
У меня кстати эта функция вполне работала. Я ее из phpBB позаимствовал.
Ну если бы мог, то не писал наверное...
 

john.brown

просто кулибин
ruskam2
Ты обратил внимание на эту строчку?
PHP:
$s = 'Всем привет'; # В UTF-8
 

ruskam2

Новичок
Автор оригинала: Вурдалак
ruskam2, я обычно перед тем, как выкладывать, проверяю код
Извините, может я туплю или просто не понимаю, но.

Я скопировал приведённый код в файл, выполнил его и думал что строчка "Всем привет" перекодируется в символы: &#1082 &#1088 &#1072 ....

если я не правильно понимаю, то объясните пожалуйста что не так ???

Почему я не вижу этих символов ...

И что нужно, чтобы они появились...

Извините конечно, но я правда не понимаю....
 

ruskam2

Новичок
Автор оригинала: dimagolov
потому что файл надо сохранять в утф-8
да сохранён он в utf8 и всё равно не работает...

да вы сами проверьте...

-~{}~ 08.10.09 15:15:

Автор оригинала: john.brown
Посмотреть код страницы ;)
ну так код страницы указан выше в виде примера...
+ к этому примеру страницу сохраняю в utf8

Но результат не декодируется в нужную мне кодировку
 

ruskam2

Новичок
Автор оригинала: john.brown
Посмотреть код страницы ;)
всё ПОНЯЛ .... :)

отображается оно на экране в нормальной кодировке, а если исходный код странице глянуть, то там нужная мне....

хмм..... всё понятно...

всем Спасибо
 
Сверху