Если быть точнее, то рыбы две. Во-первых, получить работающий проект на АндроидСтудио оказалось невыполнимым квестом. При создании нового проекта та же самая версия IDE упорно выдаёт webView который не может прочитать ни одну страничку ни с какого сайта. Тупо падает на необъяснимой ошибке и всё. Единственным способом изготовления нового приложения оказалось размножение всей директории и тотальное переименование переменных и директорий внутри. Как ни странно, после такого шаманства приложение спокойно серфит куда ни попадя. Всезнающий AI на вопрос "чо за нах?" только железными руками разводит и несёт какую-то чушь.
Вторая рыба - покрупнее. Это целый PHP и Апач к нему. Уже несколько раз я натыкался на ситуёвину, когда из браузера шлёшь запрос в PHP API, пытаешься распарсить полученный JSON, и ... вылетаешь по exception "illegal character". Особо зоркий глаз может при этом разглядеть в дампе полученного пакета некий мерзкий непечатный символ перед самым началом JSON-структуры. И что бы я ни делал в самом коде - ничего не помогает. Ни танцы с бубном насчёт заголовка, ни поиски вражеского символа в закодированном ответе, ничегошеньки. Как вариант, в старых проектах я отчаянно вырезаю непечатные символы уже на стороне JavaScript, что есть непотребство и чёрная магия. Так вот, оказывается при редактировании исходника на PHP в самом начале файла могут влететь те самые непечатные символы. Называются они BOM (на английском) и означают некий префикс для распознавания кодировки. Если удалить этот самый BOM из исходника, всё работает как положено. И вот тут возникает вопрос: АНАХ#Я? Почему ни интерпретатор PHP, ни многоуважаемый Апач эту дрянь не фильтруют? Кому нужна такая какашка? Может быть есть сценарий, когда BOM посылается в начале реального HTML? Может быть. Но блин, как жестоко при этом пролетают разработчики API! :-[
Вторая рыба - покрупнее. Это целый PHP и Апач к нему. Уже несколько раз я натыкался на ситуёвину, когда из браузера шлёшь запрос в PHP API, пытаешься распарсить полученный JSON, и ... вылетаешь по exception "illegal character". Особо зоркий глаз может при этом разглядеть в дампе полученного пакета некий мерзкий непечатный символ перед самым началом JSON-структуры. И что бы я ни делал в самом коде - ничего не помогает. Ни танцы с бубном насчёт заголовка, ни поиски вражеского символа в закодированном ответе, ничегошеньки. Как вариант, в старых проектах я отчаянно вырезаю непечатные символы уже на стороне JavaScript, что есть непотребство и чёрная магия. Так вот, оказывается при редактировании исходника на PHP в самом начале файла могут влететь те самые непечатные символы. Называются они BOM (на английском) и означают некий префикс для распознавания кодировки. Если удалить этот самый BOM из исходника, всё работает как положено. И вот тут возникает вопрос: АНАХ#Я? Почему ни интерпретатор PHP, ни многоуважаемый Апач эту дрянь не фильтруют? Кому нужна такая какашка? Может быть есть сценарий, когда BOM посылается в начале реального HTML? Может быть. Но блин, как жестоко при этом пролетают разработчики API! :-[
Tags: