Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. PHP. Практика создания Web-сайтов (второе издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Избавится от &#....
 
 автор: ШИМ   (29.10.2007 в 20:20)   письмо автору
 
 

При импорте dumpа БД, через phpmyadmin, некоторые символы заменяет.
А потом выводит их
так

SUNDHEDSSPØRGESKEMA

Как чтобы вместо Ø , тому подобному,нормально отображались символы

   
 
 автор: Unkind   (29.10.2007 в 22:34)   письмо автору
 
   для: ШИМ   (29.10.2007 в 20:20)
 

Символ 216 является математическим символом "пустое множество". Такого символа нет в windows-1251. Так что заменить не выйдет. Но, кстати, могу выложить решение для тех символов, которые есть как в UTF-8, так и в windows-1251:

<?php
$chr_codes 
= array(
0x04020x04030x201a0x04530x201e0x2026,
0x20200x20210x20ac0x20300x04090x2039,
0x040a0x040c0x040b0x040f0x04520x2018,
0x20190x201c0x201d0x20220x20130x2014,
0x00350x21220x04590x203a0x045a0x045c,
0x045b0x045f0x00a00x040e0x045e0x0408,
0x00a40x04900x00a60x00a70x04010x00a9,
0x04040x00ab0x00ac0x00350x00ae0x0407,
0x00b00x00b10x04060x04560x04910x00b5,
0x00b60x00b70x04510x21160x04540x00bb,
0x04580x04050x04550x04570x04100x0411,
0x04120x04130x04140x04150x04160x0417,
0x04180x04190x041a0x041b0x041c0x041d,
0x041e0x041f0x04200x04210x04220x0423,
0x04240x04250x04260x04270x04280x0429,
0x042a0x042b0x042c0x042d0x042e0x042f,
0x04300x04310x04320x04330x04340x0435,
0x04360x04370x04380x04390x043a0x043b,
0x043c0x043d0x043e0x043f0x04400x0441,
0x04420x04430x04440x04450x04460x0447,
0x04480x04490x044a0x044b0x044c0x044d,
0x044e
);

function 
return_chr($match)
{
    global 
$chr_codes;

    if( 
$match[1] < 128 )
    {
        return 
chr$match[1] );
    }
    else if( 
$p array_search($match[1], $chr_codes) )
    {
        return 
chr128 $p );
    }
    else
    {
        return 
$match[0];
    }
}

$string '&#1050;&#1080;&#1088;&#1080;&#1083;&#1083;&#1080;&#1094;&#1072;';

echo 
'Before: 'htmlspecialchars($string), '<br />';

$string preg_replace_callback('/&#(\d+);/''return_chr'$string);

echo 
'Decoded: 'htmlspecialchars($string);
?>

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования