Как прописать кодировку

Тема в разделе "PHP", создана пользователем sergey_prusov, 13 июл 2009.

Статус темы:
Закрыта.
Модераторы: latteo
  1. sergey_prusov

    sergey_prusov

    Регистр.:
    31 окт 2008
    Сообщения:
    205
    Симпатии:
    3
    Подскажите пожалуйста как в данном файле пописать кодировку utf-8



    HTML:
    
    
    
    if(pclinksformat == 2) {
    	t1 = '<tr>';
    	t2 = '</tr>';
    	td1 = '<td style="padding: 3 3 3 3px;" valign="top">';
    	td2 = '</td>';
    } else {
    	t1 = '';
    	t2 = '';
    	td1 = '<tr><td style="padding: 3 3 3 3px;" valign="top">';
    	td2 = '</td></tr>';
    	pos = 1;
    }
    <?php
    
    include "cfg.php";
    $c  = intval($_GET[c]);
    $id = intval($_GET[id]);
    if(!$c || $c > 9) { $c = 3; }
    
    $where = "";
    
    $sql = 'SELECT * FROM context2 WHERE price >= '.$cfgContext.''.$where.' ORDER BY price DESC';
    $rs = mysql_query($sql);
    
    $i = 1;
    print "linkcode = '";
    while($a = mysql_fetch_array($rs)) {
    	$sql2		= 'SELECT balance FROM users WHERE id = '.$a[user_id].' LIMIT 1';
    	$rs_balance	= mysql_query($sql2);
    	$a_b		= mysql_fetch_array($rs_balance);
    
    	if ($a_b['balance'] >= $a['price'] && ($a['stopor'] > $a['clx'] || $a['stopor'] == 0) && $a[status] == 0) {
    		print "'+top.td1+'<a href=\"http://сайт/click/utfcontext2.php?id=".$id."&ids=".$a[id]."\" target=\"_blank\" style=\"text-decoration: none;\"><font style=\"font-size: '+pclinksptlink+'pt;\" color=\"#'+pclinkslinkcolor+'\"><u><b>".$a[name]."</b></u></font><br />'+
    			'<font style=\"font-size: '+pclinkspttext+'pt;\" color=\"#'+pclinkstextcolor+'\">".$a[descr]."</font><br />'+
    			'<font style=\"font-size: '+pclinksptdomen+'pt;\" color=\"#'+pclinksdomencolor+'\"><u>".$a[url]."</u></font></a>'+top.td2+'";
    
    		if($i == $c) { break; }
    		$i++;
    
    	}
    }
    print "';";
    
    
    ?>
    	res = linkcode;
    
    	if(res == "") { res = top.td1 + '<center><a href="http://сайт/" target="_blank"><img src="/images/logo.gif" width="133" height="34" border="0" alt="http://сайт/ - биржа контекстной рекламы и PopUp" /></a></center>' + top.td2; }
    
    	res = '<table width="'+pclinkswidth+'" cellpadding="0" cellspacing="0" border="0">'+
    	'<tr>'+
    	'<td>'+
    	'<a style="text-decoration: none; font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000;" href="http://blowclick.ru/" target="_blank"><b>Реклама: <font color="#999999">сайт<b>.</b>ru</font></b></a>'+
    	'<table bgcolor="#'+pclinksfoncolor+'" style="border: 1px solid #'+pclinksbordercolor+';" width="100%" cellpadding="0" cellspacing="0" border="0">'+top.t1+''+res+''+top.t2+'</table>'+
    	'</td>'+
    	'</table>';
    
    	document.write(res);
     
  2. malibu

    malibu Создатель

    Регистр.:
    8 июл 2009
    Сообщения:
    20
    Симпатии:
    9
    кодировка устанавливается в заголовке HTML документа, я у тебя его здесь не вижу
    PHP:
    <head>
      <
    meta http-equiv="content-type" content="text/html; charset=utf-8" />
    </
    head>
    или создай файл .htaccess и в нем пропиши строку
    PHP:
    AddDefaultCharset utf-8
    тогда апач будет отдавать страницы в кодировке utf-8
     
  3. megabil

    megabil Постоялец

    Регистр.:
    31 авг 2006
    Сообщения:
    143
    Симпатии:
    49
    послать заголовок
    PHP:
    header('Content-type: text/html; charset=utf-8');
     
  4. sergey_prusov

    sergey_prusov

    Регистр.:
    31 окт 2008
    Сообщения:
    205
    Симпатии:
    3

    пробовал прописывать в коде что выше.... скрипт вообще отказывается работать...может не туда вписывал?



    Наверное я плохо объясняю.....данный сайт на котором все это сделать надо, это ничто иное как сервис контекстной рекламы(т.е зарегистрированный пользователь берет с мего сайта код размещает его у сябя на сайте и показывается контекстная реклама).....но... все бы ничего но когда пользователь размещает код на сайте в формате utf8 то у него показываются крякозяблы....а если сайт в cp1251 то все отображается идеально



    и как я понимаю именно код который находится вышекакимто образом отвечает за кодировку контекста...
     
  5. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Вам надо выдачу делать в определенной кодировке, а не прописывать.
    Где-нить в базе храните кодировки сайтов ваших партнеров, и весь свой код перепишите так, чтобы у вас выдача шла не сразу, а сначала вот эти все вещи
    HTML:
    '<font style=\"font-size: '+pclinkspttext+'pt;\" color=\"#'+pclinkstextcolor+'\">".$a[descr]."</font><br />'+
    
    HTML:
    	'<tr>'+
    	'<td>'+
    	'<a style="text-decoration: none; font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000;" href="http://blowclick.ru/" target="_blank"><b>Реклама: <font color="#999999">сайт<b>.</b>ru</font></b></a>'+
    	'<table bgcolor="#'+pclinksfoncolor+'" style="border: 1px solid #'+pclinksbordercolor+';" width="100%" cellpadding="0" cellspacing="0" border="0">'+top.t1+''+res+''+top.t2+'</table>'+
    	'</td>'+
    	'</table>';
    
    итп писались в переменную, после чего эту переменную, с учетом кодировки сайта конвертите через иконв и соотв. делаете выдачу в кодировке того сайта, которому вы выдаете свой контент.
     
  6. sergey_prusov

    sergey_prusov

    Регистр.:
    31 окт 2008
    Сообщения:
    205
    Симпатии:
    3






    я сделал проще...вроде.... но все заработало проверьте) я порписал заметьте что в файле



    HTML:
    if(pclinksformat == 2) {
    	t1 = '<tr>';
    	t2 = '</tr>';
    	td1 = '<td style="padding: 3 3 3 3px;" valign="top">';
    	td2 = '</td>';
    } else {
    	t1 = '';
    	t2 = '';
    	td1 = '<tr><td style="padding: 3 3 3 3px;" valign="top">';
    	td2 = '</td></tr>';
    	pos = 1;
    }
    <?php
    include "cfg.php";
    $c  = intval($_GET[c]);
    $id = intval($_GET[id]);
    if(!$c || $c > 9) { $c = 3; }
    $where = "";
    @mysql_query("SET NAMES 'utf8'");
    @mysql_query( "set session character_set_server=utf8");
    @mysql_query( "set session character_set_database=utf8" );
    @mysql_query( "set session character_set_connection=utf8" );
    @mysql_query( "set session character_set_results=utf8" );
    @mysql_query( "set session character_set_client=utf8" );  
    $sql = 'SELECT * FROM context2 WHERE price >= '.$cfgContext.''.$where.' ORDER BY price DESC';
    $rs = mysql_query($sql);
    $i = 1;
    print "linkcode = '";
    while($a = mysql_fetch_array($rs)) {
    	$sql2		= 'SELECT balance FROM users WHERE id = '.$a[user_id].' LIMIT 1';
    	$rs_balance	= mysql_query($sql2);
    	$a_b		= mysql_fetch_array($rs_balance);
    	if ($a_b['balance'] >= $a['price'] && ($a['stopor'] > $a['clx'] || $a['stopor'] == 0) && $a[status] == 0) {
    		print "'+top.td1+'<a href=\"http://сайт/click/context2.php?id=".$id."&ids=".$a[id]."\" target=\"_blank\" style=\"text-decoration: none;\"><font style=\"font-size: '+pclinksptlink+'pt;\" color=\"#'+pclinkslinkcolor+'\"><u><b>".$a[name]."</b></u></font><br />'+
    			'<font style=\"font-size: '+pclinkspttext+'pt;\" color=\"#'+pclinkstextcolor+'\">".$a[descr]."</font><br />'+
    			'<font style=\"font-size: '+pclinksptdomen+'pt;\" color=\"#'+pclinksdomencolor+'\"><u>".$a[url]."</u></font></a>'+top.td2+'";
    		if($i == $c) { break; }
    		$i++;
    	}
    }
    print "';";
    ?>
    	res = linkcode;
    	if(res == "") { res = top.td1 + '<center><a href="http://сайт/" target="_blank"><img src="/images/logo.gif" width="133" height="34" border="0" alt="http://сайт/ - биржа контекстной рекламы и PopUp" /></a></center>' + top.td2; }
    	res = '<table width="'+pclinkswidth+'" cellpadding="0" cellspacing="0" border="0">'+
    	'<tr>'+
    	'<td>'+
    	'<a style="text-decoration: none; font-family: Tahoma, Verdana, Arial; font-size: 11px; color: #000000;" href="http://сайт/" target="_blank"><b>Реклама: <font color="#999999">сайт<b>.</b>ru</font></b></a>'+
    	'<table bgcolor="#'+pclinksfoncolor+'" style="border: 1px solid #'+pclinksbordercolor+';" width="100%" cellpadding="0" cellspacing="0" border="0">'+top.t1+''+res+''+top.t2+'</table>'+
    	'</td>'+
    	'</table>';
    	document.write(res);

    потом данный файл сохранил в utf8 и все заработало) так можно реализовать?глючить не будет?
     
  7. Nafania

    Nafania

    Регистр.:
    24 мар 2007
    Сообщения:
    167
    Симпатии:
    46
    Это тоже вариант конечно, но
    на сайтах с windows-1251 у вас будут ваши "крякозяблы", так как ваш теперешний вариант будет выдавать только utf-8.
    Поэтому делайте так, как я указал и ваш скриптик будет выдавать правильный контент для различных кодировок.
     
  8. sergey_prusov

    sergey_prusov

    Регистр.:
    31 окт 2008
    Сообщения:
    205
    Симпатии:
    3



    но на сайтах в cp1251 он тоже выдает все хорошо)))



    если не сложно покажите или объясните как сделать как вы сказали поподробнее:ah:
     
Статус темы:
Закрыта.