Любой вопрос новичка, чтоб не захламлять форум. Профи, не проходите мимо. Без вас никуда - 6. - страница 1017
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
я правильно понимаю что что бы получить из них русский язык нужно перевести в ANSI то есть в CP_ACP ?
делаю это так string ttt =CharArrayToString(RESULT,0,CP_ACP); и ничего не меняется только данные получаются в переменной string
сохранение в файл под CP_ACP тоже не даёт результат.
100 % я что то делаю не так . онлайн декодер правильно переводит . итог такой: heDay\">Среда, Апрель 20, 2016<\/td>\n (ещё при перекодировании из UTF-8 используется пост фильтр uurlencoded)
ВОПРОС как это сделать на MQL?
подскажите пожалуйста имеются вот такие данные <td colspan=\"8\" class=\"theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016<\/td>\n в формате UTF-8
я правильно понимаю что что бы получить из них русский язык нужно перевести в ANSI то есть в CP_ACP ?
делаю это так string ttt =CharArrayToString(RESULT,0,CP_ACP); и ничего не меняется только данные получаются в переменной string
сохранение в файл под CP_ACP тоже не даёт результат.
100 % я что то делаю не так . онлайн декодер правильно переводит . итог такой: heDay\">Среда, Апрель 20, 2016<\/td>\n
ВОПРОС как это сделать на MQL?
подскажите пожалуйста имеются вот такие данные <td colspan=\"8\" class=\"theDay\">\u0421\u0440\u0435\u0434\u0430, \u0410\u043f\u0440\u0435\u043b\u044c 20, 2016<\/td>\n в формате UTF-8
я правильно понимаю что что бы получить из них русский язык нужно перевести в ANSI то есть в CP_ACP ?
делаю это так string ttt =CharArrayToString(RESULT,0,CP_ACP); и ничего не меняется только данные получаются в переменной string
сохранение в файл под CP_ACP тоже не даёт результат.
100 % я что то делаю не так . онлайн декодер правильно переводит . итог такой: heDay\">Среда, Апрель 20, 2016<\/td>\n (ещё при перекодировании из UTF-8 используется пост фильтр uurlencoded)
ВОПРОС как это сделать на MQL?
https://forum.mql4.com/ru/67441
пока правда не сработало ... но похоже на то что нужно, или не то?
подскажите пожалуйста как можно программно перекодировать данные как на картинке (кадабры в буквы русские)? Куда копать в каком направление(?
1 скачивание с учётом кодировки
2 скачивание страницы после запроса в брозере то она нормальная отображается
3 разные функции перекодировать из WinDLL или C++
4 сейчас пришёл что я подберу для каждой буквы код и буду по нему раскодировать (то есть собственная функция)
хорошо а как написать в коде MQL например вот это "\u0430"
выдаёт предупреждение'u' - unrecognized character escape sequence
спасибо, уже разные варианты думал от
1 скачивание с учётом кодировки
2 скачивание страницы после запроса в брозере то она нормальная отображается
3 разные функции перекодировать из WinDLL или C++
4 сейчас пришёл что я подберу для каждой буквы код и буду по нему раскодировать (то есть собственная функция)
хорошо а как написать в коде MQL например вот это "\u0430"
выдаёт предупреждение'u' - unrecognized character escape sequence
Вот на PHP, по её принципу делаете на MQ
function conv($str) { $uot = ''; $unicodePoints = array( '\u0410','\u0411','\u0412','\u0413', '\u0414','\u0415','\u0416','\u0417', '\u0418','\u0419','\u041A','\u041B', '\u041C','\u041D','\u041E','\u041F', '\u0420','\u0421','\u0422','\u0423', '\u0424','\u0425','\u0426','\u0427', '\u0428','\u0429','\u042A','\u042B', '\u042C','\u042D','\u042E','\u042F', '\u0430','\u0431','\u0432','\u0433', '\u0434','\u0435','\u0436','\u0437', '\u0438','\u0439','\u043A','\u043B', '\u043C','\u043D','\u043E','\u043F', '\u0440','\u0441','\u0442','\u0443', '\u0444','\u0445','\u0446','\u0447', '\u0448','\u0449','\u044A','\u044B', '\u044C','\u044D','\u044E','\u044F'); $hexView = array( 'd090','d091','d092','d093', 'd094','d095','d096','d097', 'd098','d099','d09a','d09b', 'd09c','d09d','d09e','d09f', 'd0a0','d0a1','d0a2','d0a3', 'd0a4','d0a5','d0a6','d0a7', 'd0a8','d0a9','d0aa','d0ab', 'd0ac','d0ad','d0ae','d0af', 'd0b0','d0b1','d0b2','d0b3', 'd0b4','d0b5','d0b6','d0b7', 'd0b8','d0b9','d0ba','d0bb', 'd0bc','d0bd','d0be','d0bf', 'd180','d181','d182','d183', 'd184','d185','d186','d187', 'd188','d189','d18a','d18b', 'd18c','d18d','d18e','d18f' ); for($i=0; $i < strlen( $str ); $i++) { if(bin2hex($str{$i}) >= 'd0' && bin2hex($str{$i}) <= 'd1') { $uot .= bin2hex($str{$i}).bin2hex($str{$i+1}); $i++; } elseif(bin2hex($str{$i}) <= '7e') { $uot .= '\u00'.bin2hex($str{$i}); } else $uot .= htmlentities($str{$i},ENT_QUOTES,'UTF-8'); } return str_replace($hexView,$unicodePoints, $uot); }Смысл в том, что строку разбиваете на символы и делаете посимвольную замену на нужный символ при совпадении с массива.
Вот на PHP, по её принципу делаете на MQ
Смысл в том, что строку разбиваете на символы и делаете посимвольную замену на нужный символ при совпадении с массива.
спасибо большое так будет быстрее, я тоже поэтому принципу решил "липить" особое спасибо за коды символов теперь их искать не надо будет.
StringGetChar()
StringGetCharacter()
Или это не то?