Wordpress xml траблы с кодировкой - Форум успешных вебмастеров - GoFuckBiz.com
 
 
Форум успешных вебмастеров - GoFuckBiz.com

  Форум успешных вебмастеров - GoFuckBiz.com > Бизнес-решения > Скрипты, программы и технические решения
Дата
USD/RUB88.6852
BTC/USD68078.3073
Скрипты, программы и технические решения Обсуждаем скрипты, программы и новые технологии.

Закрытая тема
Опции темы Опции просмотра
Старый 20.12.2011, 10:45   #1
ad-portfolio
Senior Member
 
Регистрация: 15.08.2007
Сообщений: 380
Бабло: $93963
По умолчанию Wordpress xml траблы с кодировкой

возвращет всё нормально, но кодировка в ?????
английский текст нормально
подскажите, плиз, в чем дело?

PHP код:
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
          
$GLOBALS['xmlrpc_defencoding']='UTF-8';
          
header('Content-type:text/html;charset=utf-8');
          
$domen $this->url;

          
//логин и пароль
          
$u_name $this->login_wp;
          
$u_pass $this->pass_wp;
           
          
//обращаемся к test.wordpress.loc/xmlrpc.php
          
$wp = new xmlrpc_client('/xmlrpc.php',$domen,80);
          
//кодировка клиента
          
$wp->request_charset_encoding 'UTF-8';
          
//чтоб возвращал в виде php-переменных
          
$wp->return_type 'phpvals';
           
          
$params = array(           
          new 
xmlrpcval(1'int'), //ид блога или ид поста
          
new xmlrpcval($u_name'string'), //логин
          
new xmlrpcval($u_pass'string'), //пароль
          
);
           
          
//вызываем процедуру metaWeblog.newPost
          
$r $wp->send(new xmlrpcmsg('wp.getCategories'$params));
          
//если ошибка, сообщаем об ошибке постинга

          
if ($r->faultCode()) {
               die(
'Ошибка постинга:' $r->faultString());
          }
          
//WP вернет идентификатор поста в случае успеха
          
$p $r->value(); 
ad-portfolio вне форума  
Старый 20.12.2011, 11:04   #2
tooltip
Вставлю сюда ваша рекламу
 
Регистрация: 18.12.2011
Адрес: 443 порт
Сообщений: 40
Бабло: $6430
Отправить сообщение для tooltip с помощью ICQ
По умолчанию

Если текст состоит в ??? то это проблема в базе.
Какая там стоит кодировка и какая кодировка устанавливается после подключения к базе?
__________________
Последние 30 лет я занимался тем, что люблю и теперь по материальным причинам не могу позволить себе выйти на пенсию.
tooltip вне форума  
Старый 20.12.2011, 11:15   #3
ad-portfolio
Senior Member
 
Регистрация: 15.08.2007
Сообщений: 380
Бабло: $93963
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от tooltip Посмотреть сообщение
Если текст состоит в ??? то это проблема в базе.
Какая там стоит кодировка
База в utf8_general_ci

Цитата:
Сообщение от tooltip Посмотреть сообщение
какая кодировка устанавливается после подключения к базе?
PHP код:
$GLOBALS['xmlrpc_internalencoding'] = 'UTF-8';
$GLOBALS['xmlrpc_defencoding']='UTF-8';
header('Content-type:text/html;charset=utf-8'); 
Вроде тоже utf8?
ad-portfolio вне форума  
Старый 20.12.2011, 11:27   #4
tooltip
Вставлю сюда ваша рекламу
 
Регистрация: 18.12.2011
Адрес: 443 порт
Сообщений: 40
Бабло: $6430
Отправить сообщение для tooltip с помощью ICQ
По умолчанию

На самом деле может быть 3 причины:
1) Неправильная кодировка в базе
Проверить легко - зайти самому через phpmyadmin, да или просто глянуть на блог, если читает русский текст - значит все хорошо.

2) Проблема при отображении текста в xml ответе.
Мало-ли какие там фильтры применяются и как там распознается русский текст.

Проверить можно, отослав пакет вручную.

3) Проблема собственно в клиенте xmlrpc. Тогда уже нужно более детально разбираться в коде.
__________________
Последние 30 лет я занимался тем, что люблю и теперь по материальным причинам не могу позволить себе выйти на пенсию.
tooltip вне форума  
Старый 20.12.2011, 11:36   #5
ad-portfolio
Senior Member
 
Регистрация: 15.08.2007
Сообщений: 380
Бабло: $93963
ТС -->
автор темы ТС По умолчанию

Цитата:
Сообщение от tooltip Посмотреть сообщение
2) Проблема при отображении текста в xml ответе.
Мало-ли какие там фильтры применяются и как там распознается русский текст.

Проверить можно, отослав пакет вручную.
Расскажи, плиз, поподробнее об отправке пакета вручную
ad-portfolio вне форума  
Старый 20.12.2011, 11:47   #6
tooltip
Вставлю сюда ваша рекламу
 
Регистрация: 18.12.2011
Адрес: 443 порт
Сообщений: 40
Бабло: $6430
Отправить сообщение для tooltip с помощью ICQ
По умолчанию

Для firefox есть такой плагин HttpRequester, который собственно и позволяет отсылать пакеты.

Сделал скрин, на котором в принципе все видно, что и как отсылается и в где должен быть русский текст




Пакет для отправки
Цитата:
<?xml version="1.0" encoding="utf-8"?>
<methodCall>
<methodName>wp.getCategories</methodName>
<params>
<param><value><string>1</string></value></param>
<param><value><string>LOGIN</string></value></param>
<param><value><string>PASSWORD</string></value></param>
</params>
</methodCall>
__________________
Последние 30 лет я занимался тем, что люблю и теперь по материальным причинам не могу позволить себе выйти на пенсию.
tooltip вне форума  
Старый 20.12.2011, 12:08   #7
ad-portfolio
Senior Member
 
Регистрация: 15.08.2007
Сообщений: 380
Бабло: $93963
ТС -->
автор темы ТС По умолчанию

Сэнкью, попробую
ad-portfolio вне форума  
Старый 20.12.2011, 12:58   #8
ad-portfolio
Senior Member
 
Регистрация: 15.08.2007
Сообщений: 380
Бабло: $93963
ТС -->
автор темы ТС По умолчанию

Проверил, выводит норм на русском через плагин.
На блоге тоже все ок выводится.
Остается только
Цитата:
3) Проблема собственно в клиенте xmlrpc.
Ладно, будем ковыряться.
ad-portfolio вне форума  
Старый 20.12.2011, 13:02   #9
tooltip
Вставлю сюда ваша рекламу
 
Регистрация: 18.12.2011
Адрес: 443 порт
Сообщений: 40
Бабло: $6430
Отправить сообщение для tooltip с помощью ICQ
По умолчанию

Попробуй вместо phpxmlrpc использовать wp-poster

Официальная страница, а также несколько примеров
http://www.charnad.com/wp-poster/

Метод getCategories также доступен там
__________________
Последние 30 лет я занимался тем, что люблю и теперь по материальным причинам не могу позволить себе выйти на пенсию.
tooltip вне форума