Подчеркивание файлов на чтение каталога


Создал чтение каталогов простой в PHP, только на время передачи файлов с подчеркивания, они появляются странные символы, а затем я не могу открыть эти файлы.

Как сделать чтение правильные ударения?

Уже пробовал много вещей, меняется на UTF8 в HTML, но до сих пор ничего.

 <?php
    //diretorio
    $base = 'files/';
    $abreDir = ($_GET['dir'] != '' ? $_GET['dir'] : $base);
    $openDir = dir($abreDir);            
    //voltar
    $strrdir = strrpos(substr($abreDir,0,-1),'/');
    $voltar = substr($abreDir,0,$strrdir+1);

    $openDir = dir($abreDir);                 
       while($arq = $openDir -> read()):
            if($arq != '.' && $arq != '..'):
                if(is_dir($abreDir.$arq)):
                    //pastas                                                        
                    echo'<li class="folders"><a href="discovirtual?dir='.$abreDir.$arq.'/">'.$arq.'</a></li>';          
                else:
                    //arquivos     
                    echo'<li class="files"><a href="'.$abreDir.$arq.'">'.$arq.'</a></li>';                              
                endif;                      
            endif;              
       endwhile;
    if($abreDir != $base):
        echo '<a href="discovirtual?dir='. $voltar.'">Voltar</a>';
    endif;
    $openDir -> close();
?>
 3
php
Author: brasofilo, 2014-05-13

1 answers

Существует несколько способов для устранения неполадок. Что еще рекомендую renomear os arquivos hash sha1 и сделать акценты во время включения. Это решит проблемы с диакритическими знаками и специальными символами.

Другой способ конвертировать эти символы, процитировал это с помощью utf8_decode(); utf8_encode();

То, что они делают?

utf8_encode - Кодирует строку ISO-8859-1, UTF-8 -

utf8_decode - Преобразует строку символов ISO-8859-1 с кодировкой UTF-8, single-byte ISO-8859-1.

 2
Author: Dalton Menezes, 2014-05-14 05:38:36