Firefox UDF и кодировка

Аватара пользователя
malev

Firefox UDF и кодировка

Сообщение malev »

Уважаемые гуру, подскажите если кто работал с
FF.au3 (UDF для Firefox)
возможно ли через плагин получить русское название ссылки. Возможно дело и не в плагине, но сам я по английски не общаюсь у автора плагина спросить не могу. Вот примерный текст:



Код:

Код: Выделить всё

#include 
#include 
_FFStart("http://ya.ru/")
 _FFConnect()
If _FFIsConnected() Then
	$arr=_FFLinksGetAll()
	_ArrayDisplay($arr)
EndIf

Получается нечитаемые символы вместо русских ссылок, с английскими все нормально вроде. Для FF.au3 еще надо поставить и запустить MozRepl аддон к firefox, я так понял это типа посредник. Вариант через IE пока не нужен. Спасибо.
Аватара пользователя
Medic84

Re: Firefox UDF и кодировка

Сообщение Medic84 »

Цитата malev:



Уважаемые гуру, подскажите если кто работал с FF.au3 (UDF для Firefox) возможно ли через плагин получить русское название ссылки. Возможно дело и не в плагине, но сам я по английски не общаюсь у автора плагина спросить не могу. Вот примерный текст:

Код:

#include

#include

_FFStart("
http://ya.ru/
")

_FFConnect()

If _FFIsConnected() Then

$arr=_FFLinksGetAll()

_ArrayDisplay($arr)

EndIf

Получается нечитаемые символы вместо русских ссылок, с английскими все нормально вроде. Для FF.au3 еще надо поставить и запустить MozRepl аддон к firefox, я так понял это типа посредник. Вариант через IE пока не нужен. Спасибо.
Firefox UDF и кодировка




Это особенность интернета. Русских ссылок не существует. Просто сами браузеры кодируют символы типа %A2%A3 в русский язык и наоборот. Соответственно в программу нужно вставить какой либо перекодировщик.
Аватара пользователя
malev

Re: Firefox UDF и кодировка

Сообщение malev »

Medic84, допустим это и есть полный код программы:



Код:

Код: Выделить всё

#include 
_FFStart("ya.ru","default",2)
$Socket = _FFConnect()
$zap2=String("Пиво")
If _FFIsConnected() Then
	_FFCmd(".forms[0].elements[0].value='" & $zap2 & "'")
	_FFFormSubmit(0)
EndIf

Это простейший образец проблем с кодировкой, что должен делать запускает firefox на страницу ya.ru если соединение удалось отправляем поисковый запрос. UDF FF.au3 скачивается по ссылке в первом сообщении. String() не помогает.
Аватара пользователя
malev

Re: Firefox UDF и кодировка

Сообщение malev »

не совсем согласен, во первых кодирование идет в другом формате у меня, похоже на utf-8 и пробовал другим методом там ссылки нормально, через Com объект вроде.
Аватара пользователя
malev

Re: Firefox UDF и кодировка

Сообщение malev »

Подскажите простой способ перекодировки строки, неужели нет встроенной функции в AutoIt, мне нужно получить тест на русском соответственно интересуют кодировки cp-1251 и UTF
Аватара пользователя
malev

Re: Firefox UDF и кодировка

Сообщение malev »

Попробуй что-то типа:



Код:

Код: Выделить всё

$decodedstring = BinaryToString(StringToBinary($string), 4)

Ну, в общем, какая-то комбинация функций BinaryToString и StringToBinary с параметрами.
Аватара пользователя
Iska

Re: Firefox UDF и кодировка

Сообщение Iska »

Боюсь, это не поможет. Как правильно заметил Medic84, дело не столько в кодировке. Скорее всего требуется такое (как описано в
#11
):



Код:

Код: Выделить всё

AutoItSetOption("MustDeclareVars", 1)
; http://ru.wikipedia.org/wiki/Юникод
Local $strTextUTF8        = "http://ru.wikipedia.org/wiki/%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4"
Local $objMSScriptControl = ObjCreate("MSScriptControl.ScriptControl")
With $objMSScriptControl
	.Language = "JScript"
	MsgBox(1, "URI->ANSI", .eval("decodeURI('" & $strTextUTF8 & "');"))
EndWith
$objMSScriptControl = 0
Exit 0
Аватара пользователя
Gorrr

Re: Firefox UDF и кодировка

Сообщение Gorrr »

Ну, или вот типа так:



Код:

Код: Выделить всё

$string = "%D0%AE%D0%BD%D0%B8%D0%BA%D0%BE%D0%B4" ; Юникод
MsgBox(0, "", BinaryToString(Binary("0x" & StringRegExpReplace($string, "%", "")), 4))
Аватара пользователя
malev

Re: Firefox UDF и кодировка

Сообщение malev »

Вот по такому коду, отправить запрос поиска через яндекс



Изображение



Такие пироги, в какой кодировке выделенный текст, подскажите.



Изображение



Воможно я неправильно обяснил но мне нужен не здесь русский текст



Изображение



а в описании ссылки например
Яндекс
, т.е. слово "Яндекс"

ну или здесь Изображение
Аватара пользователя
Medic84

Re: Firefox UDF и кодировка

Сообщение Medic84 »

Код:

Код: Выделить всё

$zap2 = String("Пиво")

Попробуй так
Ответить

Вернуться в «AutoIt»