Изменить кодировку при выводе результата

Ardis

Профессор
Регистрация
26 Мар 2008
Сообщения
209
Реакции
42
Скрипт качает файл тхт, обрабатывает его и выводит результат, но не в той кодировке) нужна ютф-8. можно как то с помощью iconv. но я не силен в пхп.
PHP:
<?php
class topsms extends Controller {

var $data 		=	array ();
var $is_logged	=	false;
var $AccountSerial=0;
var $master_answer=	false;

	function topsms()
	{
		parent::Controller();
        $this->load->helper(array(
        	'fdcore_framework',
        	'office_framework',
        	'rf_framework_helper',
        	));
        $this->load->helper(array('language','url','security','form','html','pay','date'));
        $this->load->library(array('session','parser','table','ajax'));
        $this->lang->load('office', get_lang());
        $this->login=xss_clean($this->session->userdata('login'));
        RunFunc('connectdb|connectmydb|check_offline|check_sql_inject');
        $this->output->enable_profiler(config('profiler','core'));
	}

	function index()
	{
        $world = get_world();
        
        $this->data['title']='Òîï ãîëîñîâ çà ñìñ';
        
		include( APPPATH . "config/mmotop.php" );

		$all_data=file_get_contents($config['logfile']);
		
		$rows       =   explode("\n",$all_data);
		
		$chars=array();
		
		foreach($rows as $row){
		    
		    $cols=explode("\t",$row);
		
		    if(isset($cols[3]) && $cols[3]!==''){
		    
		       if($cols[4]==2) $chars[]=$cols[3];
		       
		    }
		    
		    
		}
		
		$top=array_count_values($chars);
		arsort($top);
		
		$i=1;
		
		$this->table->set_heading('#','Èìÿ ïåðñîíàæà');
		
		foreach($top as $key=>$value){
		
		 	$this->table->add_row($i,$key);
		    $i++;
		    if($i > 99) break;
		    
		}		
		
        $this->data['content']=$this->table->generate();
    	compile('',false);
	}


}
 
а что тут непонятного то ??

PHP:
$text_perem = iconv("WIN-1251", "UTF-8", $text_perem);

WIN-1251 - кодировка в которой находятся данные
UTF-8 - кодировка в которую надо переконвертить

а привёл ты код чисто функций в них ни чтения файла ни вывода нет.
 
Message: iconv() [function.iconv]: Wrong charset, conversion from `WIN-1251' to `UTF-8' is not allowed

я не особо шарю в пхп :confused:
 
Так правильнее:
PHP:
$text_perem = iconv("windows-1251", "UTF-8", $text_perem);
PS Если в PHP плохо шаришь зачем постить в раздел PHP Pro?
PPS Если будут проблемы с определением кодировки, смотри тему http://nulled.in/showthread.php?t=198585
 
Код:
$text = iconv('windows-1251','utf-8', $text);
однако при условии, что iconv включено, если нет, то роем в сторону штакцесс или подобного
 
Назад
Сверху