|
|
|
| Здравствуйте облазел пол инета не могу найти скрипт который бы перегонял 1252 (аброкодабра) в 1251 (аброкодабра) ?!
Может у кого заволялся клас для перегонки кодеровки ?
И можно ли это зделать через это ?(просто я так перегонял utf-8 в windiws-1251)
$str = iconv('UTF-8', 'WINDOWS-1251', $str);
$str = eregi_replace('CHARSET=utf8', 'CHARSET=cp1251', $str);
|
Помогите плиз кто чем может )) ! | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 07:44)
| |
<?
$s = "аброкодабра";
echo html_entity_decode($s, ENT_NOQUOTES, 'windows-1251');
|
С чего вы решили, что это UTF-8? Это HTML-unicode. | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 08:31)
| | Спосибо помогло !
Только я не имел в виду что это UTF я просто сказал что с UTF я работал так )) и спросил можноли использовать iconv для перекодирования 1252 (HTML-unicode).
Большое спосибо ещё раз. | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 09:01)
| | IMHO, sim5 не совсем верно задал вопрос. С чего Вы взяли, что это (... абр ...) -- windows-1252? | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 08:31)
| | Созрел ещё один вопрос !
что это за кодеровка и как её перегнать ?!
Ââåäåíèå (Введение) | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 09:09)
| | Это на какой-то бред уже похоже. ä - это умляют для "ненашенского" языка, í - это акцентирование (ударение), и т.д.. С чего вы взяли что тут написано "Введение"? Это скорее всего ввод руского не понятно под чем, с получением такой аброкодабры. | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 09:21)
| |
d.add(1,0,"Ââåäåíèå","php_index.htm");
d.add(2,0,"Ñèíòàêñèñ ÿ
d.add(3,2,"Âûðàæåíèÿ","php_vir.htm");
|
Это згенерировала программа из chm !
Вот здесь если в фррму вставить Ââåäåíèå то получается Введение ! И в chm тоже написанно Введение.
http://2cyr.com/decode/?lang=ru
Как я понел из этого сайта это iso-8859-15 Если я прав то как перегнать в 1251 ? | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 09:41)
| | Ну и зачем такое выставлять? То что она вам сделала такую вещь, значит программа генерирующая CHM не работает с русским языком. Если так интересно о кодировках, то можете почитать тут. А вот òà ñ и подобное никакого отношения к русскому языку не имеет, это (немного):
â â a с акцентом (circumflex)
ã ã a с акцентом (tilde)
ä ¨ a с акцентом (umlaut)
|
PS. Отредактируйте свое сообщение, удалив все, оставив только небольшую часть, и так, чтобы не разбивала страницу в ширину. Более такого не выставляйте, читать не удобно! | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 09:46)
| | Я бы рад да не могу ! ссвылка редоктирования почемуто пропала (( | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 09:55)
| | А когда добавляете сообщение, ведь видите что получается "не хорошо", почему бы сразу не подумать? Нажмите для своего сообщения "Ответить" и в адресной строке измените addpost.php на editpost.php | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 10:06)
| | ОК | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 09:41)
| | В данном случае (по этой ссылке), указывается исходная кодировка и (как я понимаю) происходит преобразование пользовательской функцией. Стандартных функций в РНР, которые бы сделали из Ââå... русский текст, нет. Тут и Промт не поможет, нужно писать свою. | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 11:41)
| | Странно, но html_entity_decode() переводит. И действительно это будет "Введение"
d.add(1,0,"Ââåäåíèå","php_index.htm");
Введение
d.add(2,0,"Ñèíòàêñèñ ÿ
Синтаксис я
d.add(3,2,"Âûðàæåíèÿ","php_vir.htm");
Выражения | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 11:54)
| | Странно еще более! Ничего подобного не наблюдаю у себя.
PS. Возможно это зависит от установленного по умолчанию языка на сервере. Надо проверить. | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 11:57)
| | Возможно и от языка.
P.S. Попробовал и под Unix и под Windows - везде работает. | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 12:01)
| | У меня на Денвере по умолчанию win-1251, а у вас? | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 12:03)
| | Под Виндовс тоже win-1251. | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 12:06)
| | Значит не зависит, странно... Ну причина то должна быть этому. Версия РНР, влияние какого либо расширения...? Вопрос... | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 12:11)
| | >Версия РНР
Судя по всему и не версия PHP, т.к. попробовал и на 4-ке и на 5-ке. | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 12:27)
| | Значит еще один баг в моей сборке есть ) | |
|
|
|
|
|
|
|
для: AcidTrash
(09.10.2008 в 11:54)
| | Ага у меня тоже сработало ! Спасибки. | |
|
|
|
|
|
|
|
для: sim5
(09.10.2008 в 11:41)
| | Я тоже так решил и начас писать!
Там такая фича Â это а (к примеру) другой символ другая буква. и так далее одно радует они постоянны )) кароче сижу и выясняю какой набор символов какую букву обозначает одним словом ЖЕСТЬ.
Вопросик один есть как проще замену зделать ?
$str="Ââåäåíèå";
$xer_znaet_shto[]="sdf (это типа набор кракодябр)
sdf
sdf
sdf
sf
sf
sdf
sdf
sdfs
dfs
fs
df";
$rashen_pack[]="а
б
в
г
д
е
ё
ж";
for ($i=0; $rashen_pack[!=''; $i++)
{
$str=preg_replace("#$xer_znaet_shto[$i]#", "$rashen_pack[$i]", $str);
}
|
Как думаеш так нармально или есть вариант попроще. | |
|
|
|
|
|
|
|
для: Inviseble_Demon
(09.10.2008 в 12:03)
| |
<?php
$str = 'Ââåäåíèå';
function get_krakozyabr_value($krakozyabr)
{
if( $krakozyabr == 'Acirc' )
{
return 'В';
}
else if( $krakozyabr == 'acirc' )
{
return 'в';
}
else if( $krakozyabr == 'aring' )
{
return 'е';
}
else if( $krakozyabr == 'auml' )
{
return 'д';
}
else if( $krakozyabr == 'iacute' )
{
return 'н';
}
else if( $krakozyabr == 'egrave' )
{
return 'и';
}
# Tut drugie krakozyabry
}
function zamenitb_krakozyabry($str)
{
for($peremennaja_iteracii = 0,
$uzhe_razbiraem = false,
$novaya = ''; $peremennaja_iteracii < strlen($str); $peremennaja_iteracii++)
{
if( $str[ $peremennaja_iteracii ] == '&' && $uzhe_razbiraem )
{
trigger_error('Сентакс еррор ин ' . htmlspecialchars($str), E_USER_ERROR);
}
else if( $str[ $peremennaja_iteracii ] == '&' )
{
$uzhe_razbiraem = true;
$krakozyabr = '';
}
else if( $str[ $peremennaja_iteracii ] == ';' && $uzhe_razbiraem )
{
$uzhe_razbiraem = false;
$novaya .= get_krakozyabr_value( $krakozyabr );
}
else if( $uzhe_razbiraem )
{
$krakozyabr .= $str[ $peremennaja_iteracii ];
}
else
{
$novaya .= $str[ $peremennaja_iteracii ];
}
}
return $novaya;
}
$str = zamenitb_krakozyabry($str);
echo $str;
?>
|
| |
|
|
|