Старый 27.03.2009, 14:01   #1
Новичок
 
Регистрация: 27.03.2009
Сообщений: 2
Вес репутации: 0
allau на пути к лучшему
По умолчанию Кодировка utf-8

Не могу победить отображение links.db в сабже.
Ресурс на php в Сабжевой же кодировке.

<?php
function LoadSape(&$dat,$uplink_type){
//Цепляем библиотеку сапе
global $sape;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', '31230293e15382f84e15ce6c29d39dda');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

// ВОТ ЭТО НЕ РАБОТАЕТ
$o['charset'] = 'Unicode';
$sape = new SAPE_client();
unset($o);

//Читаем какой будет след. блок по счету
$block_num=count($dat);
// в переменную uplink передается - где показывать, 1-главная, 2-контакты, 3-карьера, 4-о компании....
$uplink=$uplink_type[0];

// Если нужная страница то лепим ссылки иначе
// игнорим и не портим массив $dat
if(($uplink==9)||($uplink==1)){
//Создаем в цикле дополнительные блоки по колву ссылок - $urls_num, определяет переменная $i
$urls_num=2;
if($uplink==9){ $urls_num=3; }
for($i=1;$i<=$urls_num;$i++){

//получаем одну ссылку от САПЫ
$descr=$descr."<BR>".$sape->return_links(1);
//Объявляем массив-имитацию результирующей строки из базы для САПЕ
if($uplink==9) {
$dat['block:'.$block_num++] = array (
'id' => '100',
'uplink_type' => '1',
'uplink' => "$uplink",
'sort_fld' => '5',
'name' => '╨б╤Б╤Л╨╗╨║╨╕ ╨б╨░╨┐╨╡',
'name_en' => 'SAPE',
'descr' => "<p>$descr</p>",
'descr_en' => "<p>$descr</p>",
'image_small' => '',
'image_big' => '',
'image_small_w' => '0',
'image_small_h' => '0',
'image_big_w' => '0',
'image_big_h' => '0',
'image_align' => 'left',
);
}

if($uplink==1){
$dat['block:'.$block_num++] = array (
'id' => '100',
'uplink_type' => '1',
'uplink' => "$uplink",
'sort_fld' => '5',
'name' => '╨б╤Б╤Л╨╗╨║╨╕ ╨б╨░╨┐╨╡',
'name_en' => 'SAPE',
'descr' => "<p>$descr</p>",
'descr_en' => "<p>$descr</p>",
'image_small' => '',
'image_big' => '',
'image_small_w' => '0',
'image_small_h' => '0',
'image_big_w' => '0',
'image_big_h' => '0',
'image_align' => 'left',
);
}
}

function select_blocks_by_uplinks (&$dat, $uplink_type, $uplink_ids, $rand = false)
{
$srt = $rand ? "rand()" : "`id` asc";
$dat = _main_::query("block", "
select *
from `blocks`
where `uplink_type` = {1} and `uplink` in {2}
order by `sort_fld` asc, {$srt}
", (string) $uplink_type, (array) $uplink_ids);

LoadSape($dat,$uplink_ids);
}
?>
В итоге ссылки краками выводятся
"?୪蠱��ᳵ岭讠*��?鱲⥭� ᳵ岭?href="http://www.domem.ru/" target="_blank">??��꠿ 岭?"

Помогите советом (кодом)
allau вне форума   Ответить с цитированием
Старый 27.03.2009, 14:06   #2
Злой модератор
 
Аватар для Wink
 
Регистрация: 25.03.2007
Адрес: Deep forest
Сообщений: 5,346
Вес репутации: 446
Wink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущееWink - прекрасное будущее
По умолчанию

Цитата:
Сообщение от allau Посмотреть сообщение
// ВОТ ЭТО НЕ РАБОТАЕТ
$o['charset'] = 'Unicode';
$sape = new SAPE_client();
unset($o);
$o['charset'] = 'utf-8';
$sape = new SAPE_client($o);

И не забудьте удалить файл links.db после изменения кода
Wink вне форума   Ответить с цитированием
Старый 27.03.2009, 14:09   #3
Добрый модератор
 
Аватар для zhegloff
 
Регистрация: 09.07.2007
Адрес: глобус Украины
Сообщений: 27,603
Вес репутации: 969
zhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущееzhegloff - прекрасное будущее
По умолчанию

Цитата:
Сообщение от allau Посмотреть сообщение
$o['charset'] = 'Unicode';
$sape = new SAPE_client();
unset($o);
Понятно, что не работает.
1. Кодировка называется utf-8, а не Unicode
2. Массив с указанием кодировки нужно таки передать: $sape = new SAPE_client($o);

Итого получится:

Цитата:
Сообщение от allau Посмотреть сообщение
$o['charset'] = 'utf-8';
$sape = new SAPE_client($o);
unset($o);
__________________
Установка кода сапы от $9.95. Пишите в личку.
Правильный хостинг.
В личке бесплатно не отвечаю обычно.
zhegloff вне форума   Ответить с цитированием
Старый 27.03.2009, 14:20   #4
Новичок
 
Регистрация: 27.03.2009
Сообщений: 2
Вес репутации: 0
allau на пути к лучшему
Thumbs up

Wink,
zhegloff,

Спасибо!
Поправил ->
........
global $sape;
if (!defined('_SAPE_USER')){
define('_SAPE_USER', 'xxxxxxxxxxxx');
}
require_once($_SERVER['DOCUMENT_ROOT'].'/'._SAPE_USER.'/sape.php');

$o['charset'] = 'utf-8';
$sape = new SAPE_client($o);
unset($o);

//Читаем какой будет след. блок по счету
$block_num=count($dat);
.....

Все-равно краки...

Добавлено через 3 минуты
Все разобрался.
Цитата:
Сообщение от Wink Посмотреть сообщение
И не забудьте удалить файл links.db после изменения кода
я не всебе сегодня явнимание и внимательность это разные вещи (с)

СПАСИБО!
Работает.

Последний раз редактировалось allau; 27.03.2009 в 14:20. Причина: Добавлено сообщение
allau вне форума   Ответить с цитированием
Ответ

Опции темы

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

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.

Быстрый переход

Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
кодировка krac Вопросы от новичков 11 20.09.2009 22:01
UTF кодировка aoischenko Вопросы от новичков 3 04.03.2009 20:12
Кодировка samy Ошибки при работе с системой 10 16.09.2008 15:30
кодировка dado Контекстные ссылки и все, что с ними связано 0 09.05.2008 22:04
Кодировка m_Stasuk Вопросы по работе системы 1 19.03.2008 22:50


Часовой пояс GMT +3, время: 05:16.