Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 13.07.2009, 19:01   #1
koshkarjov
Пользователь
 
Аватар для koshkarjov
 
Регистрация: 31.01.2009
Сообщений: 26
Восклицание WebIcqPro.class.php кодировка

Кто работал с этим классом, скажите что надо сделать, чтобы буковки русские были, а не странные кракозябры, а то я не вкурил в кодировку совсем...

Пробовал сделать вот так, но не прокатило =/
PHP код:
$qweqwe mb_convert_encoding($msg['message'], "windows-1251");
$icq->send_message($msg['from'], $qweqwe); 
Собственно вот сам код ↓
PHP код:
<?php
require_once('WebIcqPro.class.php');
define("UIN",         "Номер аськи");
define("PASSWORD",    "Пароль");
define("STARTSTATUS""STATUS_FREE4CHAT");

$text "Сообщение";

$icq = new WebIcqPro();
$icq->setOption("UserAgent""miranda");

if(
$icq->connect(UINPASSWORD)){
    
$icq->setStatus(STARTSTATUS"STATUS_DCCONT""Go Jabber!");
}else{
    echo 
$icq->error;
    exit();
}
$icq->activateOfflineMessages(UIN);

while(
$icq->isConnected()){
    
$msg $icq->readMessage();
    if ( isset(
$msg['from']) && isset($msg['message']) ){
        echo 
'msg from '.$msg['from']."\n";
        
$icq->sendMessage($msg['from'], $text);
    }
    
flush();
    
sleep(1);
}
?>
P.S.: В php разбираюсь не очень хорошо, так что если можно поподробнее, пожалуйста
koshkarjov вне форума Ответить с цитированием
Старый 13.07.2009, 22:58   #2
SkyM@n
Laravel/Vue expert
Старожил Подтвердите свой е-майл
 
Аватар для SkyM@n
 
Регистрация: 08.08.2007
Сообщений: 2,832
По умолчанию

Я работал, но у меня все работало на ура.
SkyM@n вне форума Ответить с цитированием
Старый 14.07.2009, 12:43   #3
mv28jam
Старожил
 
Аватар для mv28jam
 
Регистрация: 09.09.2008
Сообщений: 2,624
По умолчанию

C этим классом не работал,но возможно будет полезно.
Есть весёлая особенность функции mb_convert_encoding, если не указывать, в какой кодировке перекодируемая строка то будет использована internal encoding, бишь та что прописана в php.ini
Логично что мы получим "неизвестно что", если подадим строку в UTF-8 будем по дефолту считать что она в ISO-8859-1 и перекодировать windows-1251.
Ваша строка, если она храниться в файле скрипта будет в той кодировке в которой сохранён скрипт.
Стрелок-охотник
mv28jam вне форума Ответить с цитированием
Старый 14.07.2009, 22:09   #4
koshkarjov
Пользователь
 
Аватар для koshkarjov
 
Регистрация: 31.01.2009
Сообщений: 26
Восклицание

Спасибо!) Сделал вот так:
PHP код:
if (isset($msg['encoding']))
{
if (
$msg['encoding']['numset'] == 'UNICODE')
{
$msg['realmessage'] = $msg['message'];
$msg['message'] = mb_convert_encoding($msg['message'], 'cp1251''UTF-16');
}
if (
$msg['encoding']['numset'] == 'UTF-8')
{
$msg['realmessage'] = $msg['message'];
$msg['message'] = mb_convert_encoding($msg['message'], 'cp1251''UTF-8');
}

Может кому еще надо будет...)
koshkarjov вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Кодировка при вводе данных через php-myadmin и sql запросы serg-php PHP 4 27.09.2009 17:03
class string!!!! artush1984 Общие вопросы C/C++ 6 22.05.2009 15:55
От .java в .class Iceman Общие вопросы по Java, Java SE, Kotlin 3 23.02.2009 16:36
class queue Freer Общие вопросы C/C++ 6 16.01.2009 00:05
class zzzzz Общие вопросы по Java, Java SE, Kotlin 2 03.04.2008 01:14