Кодировка, инклуды.

Статус
В этой теме нельзя размещать новые ответы.

sesharim

Знаток
Регистрация
3 Окт 2006
Сообщения
299
Реакции
29
Собственно, такой вопрос. Есть систем Drupal, создаю я страницу, где хочу заинклудить один скрипт. В скрипте есть и англ, и русские символы. Естественно англ.символы отображаются нормально, а русские, кириллица - через попу. :) Такой вопрос, что поможет в этом случае?!
 
А в этом случае тебе поможет работа с кодировкой UTF-8 - и английские символы будут отображаться нормально и русские.
Ну и несколько вопросов: в какой кодировке изначально страницы с друпала отдаются клиенту у тебя? Кодировка по умолчанию какая?
А перекодировать входной поток данных можно например так (если прямо из инклуд файла все выводится с помощью echo или print:(

PHP:
$page = '';
ob_start();
require_once('твой файл.php');
$page = ob_get_contents();
ob_end_clean();
if($page){
      $page = iconv('WINDOWS-1251','UTF-8//TRANSLIT',$page);
      if($page) echo($page);
}
Либо перекодировать те переменные, которые приходят из скрипта с помощью функции Для просмотра ссылки Войди или Зарегистрируйся - если есть ее поддержка твоим сервером.
 
реальное спасибо, НО.
- глянь, например ник: Одинокий лев, щелкаешь на картинку информации, пишет что ник не найден, а англ.символы работал корректно с пробелами.
Как тут? :)

Добавлено через 3 минуты
любой русский ник не показывает, вообщем. :(
 
Я сравнил хэши - перекодировка даже не требуется для этого случая. Заверни переменную $name в кодировке cp-1251 в: Для просмотра ссылки Войди или Зарегистрируйся
PHP:
$name = rawurlencode($name);
Пример:
PHP:
<?php
    $namef = "Одинокий лев";
    //$name = iconv("WINDOWS-1251","UTF-8//TRANSTLIT",$name);
    $name = rawurlencode($namef);
    echo( '<a href="http://www.neverlands.ru/pinfo.cgi?'.$name.'" target="_blank">'.$namef.'</a>' );
    ?>
 
их там слишком много, не реально для каждого заводить такое, если честно..
 
Да при чем здесь слишком много?)
Просто примени эту функцию к месту, где у тебя ссылки формируются
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху