Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737 Форумы портала PHP.SU :: Twitter посты и codebird
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
Здравствуйте!
Задача у меня стояла такая:
Есть текст в переменной $text. Текст русскими буквами. Текст обработан, где нужно стоят решётки
Иногда текст идёт с картинкой, которая располагается по адресу $img
Задача: сделать самым простым способом постинг текста в твиттер с помощью PHP скрипта.
Покрутив немного выбрал codebird-php . Простая настройка, возможность постить изображение. Ссылка на него. Написал скрипт какой-то такой у меня вышел в итоге:
Естественно CODEBIRD , APIKEY , APISECRET , ACCTOKEN , TOKENSECRET мои константы. Всё ок, скрипт работает, но есть проблема. Картинка постится нормально, латиница тоже. Все буквы кириллицей превращаются в ромбики с вопросами. То есть, как я понял, в процессе постинга изменяется шрифт и его у меня просто нет.
Вопрос. Уважаемые гуру, что вы можете посоветовать? Прав ли я в своих догадках и как можно повлиять на шрифт? Если есть какой-то другой метод - выслушаю с радостью. Только просьба подробнее объяснять, чтобы я понимал о чём речь, ибо только учусь. И я никакую CMS не использую, скрипт запускаю со своего компа. Всем спасибо за ответы!
Sail
Отправлено: 19 Сентября, 2014 - 08:25:25
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Nikita aka Dingo пишет:
Все буквы кириллицей превращаются в ромбики с вопросами. То есть, как я понял, в процессе постинга изменяется шрифт и его у меня просто нет.
Быть может, надо текст в utf-8 преобразовывать?
Nikita aka Dingo
Отправлено: 19 Сентября, 2014 - 09:25:31
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
Похоже на проблему со шрифтом, а не с кодировкой. Если была бы проблема с кодировкой, твиттер бы реагировал по-другому.
Nikita aka Dingo
Отправлено: 20 Сентября, 2014 - 11:41:53
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
В общем, похоже я чего-то не то написал, и тут люди просто ленятся мне объёснять прописные истины. Если я прав, то хотя бы подскажите вектор, куда мне копать, что читать. Спасибо!
Sail
Отправлено: 22 Сентября, 2014 - 11:21:32
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Nikita aka Dingo, какая кодировка у Вас в проекте используется?
Если отличная от UTF-8, то попробуйте текст перед скармливанием методам того класса пропустить через функцию iconv()
Nikita aka Dingo
Отправлено: 23 Сентября, 2014 - 06:38:28
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
Да, все оказались правы, проблема была у меня. Это у меня кодировки на текстах были отличными от кодировок в скриптах. Начал исследовать iconv() и близкие к нему функции и нашёл. Всем спасибо, тему можно закрывать! Понажимал бы всем "Спасибы", но у меня сообщений мало для этого
з.ы. Кстати несправедливо, почему я не могу нажать на спасибо людям, которые помогли
Ан нет, погорячился. Короч суть такая. Скрипт кодировка ANSII, тексты в twitter из txt файла берутся. Первый текст норм разместился, а второй уже поплыл и кодировка в блокноте после того, как я извлёк оттуда строку - тоже. Выходит, мне в скрипте нужно строку из ANSII преобразовать в utf-8? И как это реализовать всё правильно? Спасибо!
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
Nikita aka Dingo пишет:
мне в скрипте нужно строку из ANSII преобразовать в utf-8?
Выполнено по определению.
UTF8 полностью и неизменно включает в себя ASCII (которую какие-то идиоты обзывают ANSI - что есть стандартизирующая организация, а не кодировка. Кодировка - это принятый стандарт ANSI X3.4).
----- PostgreSQL DBA
Sail
Отправлено: 23 Сентября, 2014 - 10:16:47
Участник
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Nikita aka Dingo пишет:
тексты в twitter из txt файла берутся
Вот этот txt файл в какой кодировке?
Быть может, его сразу можно в utf-8 формировать?
Ну или приведите участок кода, читающий из txt и формирующий массив параметров для метода из codebird
Nikita aka Dingo
Отправлено: 23 Сентября, 2014 - 17:18:47
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
Sail, ну я написал, перед стартом скрипта все txt файлы перегоняю в utf-8 руками. После запускаю скрипт, он всё нормально берёт, когда идёт перезапись кодировка слетает.
Fatal error: Call to undefined functionmb_substr()
Короче принцип я осознал. Но как-то не могу найти ошибки в коде... Большую часть поисправлял и всё нормально. Но осталась где-то треть, где вопросики.... буду искать...
Nikita aka Dingo
Отправлено: 22 Октября, 2014 - 14:18:08
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
Мало ли кому пригодится. Короче решается до банального просто. Я видать запутал всех своим скриптом. Я его переписал с нуля и всё осталось такое же по смыслу, но строку, перед размещением, я преобразовывал вот так
Покинул форум
Сообщений всего: 1131
Дата рег-ции: Февр. 2014
Помог: 57 раз(а)
Nikita aka Dingo пишет:
Мало ли кому пригодится. Короче решается до банального просто. Я видать запутал всех своим скриптом. Я его переписал с нуля и всё осталось такое же по смыслу, но строку, перед размещением, я преобразовывал вот так
Угу
А теперь перечитайте несколько первых ответов в этой теме...
Nikita aka Dingo
Отправлено: 22 Октября, 2014 - 17:47:25
Новичок
Покинул форум
Сообщений всего: 54
Дата рег-ции: Июль 2013
Помог: 0 раз(а)
[+]
Sail пишет:
Угу
А теперь перечитайте несколько первых ответов в этой теме...
Не ну я ж "новичёк". Ты написал а я не понял нифига =) Как-то посидел, ковыряясь в классах в другом скрипте и тут меня "осенило". Плюсанул бы, конечно, если бы мог
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.