⇦ Предыдущая страница
Следующая страница ⇨
Менелион Эленсуле: PHP quick tip: не используйте сериализацию массивов при работе с юникодом
Если вы хотя бы немного программировали на PHP, вы уже знаете, что с поддержкой unicode в этом языке, мягко говоря, далеко не всё гладко. Вот и я в очередной раз наступил на грабли там, где вроде бы должна была быть зелёная травка.
Иногда через форму нужно бывает передать массив строк. Можно, конечно, делать много-много input-полей типа hidden, но капитан Очевидность говорит нам, что это, во-первых, некошерно, во-вторых, просто неудобно, а в-третьих, в некоторых случаях может быть и небезопасно в плане «защиты от (любопытного) дурака».
PHP предоставляет нам неплохую функцию
serialize(), которая вроде бы позволяет передавать любые объекты в виде строк, в том числе и через форму.
И передавал я так объекты очень долго, пока не пришлось мне иметь дело с большим массивом элементов, некоторые из которых были текстами в UTF-8 (причём не только по-русски). Вот тут-то и началась засада.
Хотел я вам показать, что бывает, если так сделать, но воспроизвести на тестовом файле не смог. Это-то и пишут другие программеры: когда именно вместо вашего текста отобразится весёлый набор крокозябров из высших значений unicode, никто точно не знает. И то, что я поверх сериализации использовал ещё base64, не меняет картины.
Что же делать?
Помимо сериализации можно использовать старый добрый (ну или новый, но по-любому добрый)
JSON, который работает с UTF-8 и только с ней.
Для кодирования объектов в JSON в PHP имеется функция
json_encode(), которая и придёт вам на помощь в трудную минуту.
Метки: Программирование, PHP, Quick tips, Сериализация, Unicode, JSON
3 Комментировать
Мира Авсеева: * * *
Вот она моя книжная полочка :3
Спасибо Иншам! ;3

5 2 комментария
Ностиэ Эленсуле: Турнир приближается)
В минуты отдохновения начинаю потихоньку готовиться к турниру)
После большого перерыва снова рисую.
Палец вроде бы не болит) Но в данном случае фотошоп в помощь. Лицо решила просто подставить) и шубка, и узор на платье... в общем, маленькое электронное колдовство)



10 3 комментария
Мира Авсеева: "Поллианна" Э. Портер. Очень интересная книга :)
Я уже давно прочитала чтоль интересную книжку. Пусть она и детская, пусть девичья, но ужасно интересная.
От её прочтения захватывает дух. Эта книга называется
"Поллиана", а автор этой книги
Элинор Портер.
А суть в ней такая...
Жила на свете маленькая девочка по имени Поллианна. Она была сиротой. Её мать умерла, когда эта девочка была совсем маленькой. И на тот момент с ней остался отец. Он научил её играть в очень необычную игру. Эта игра учила во всём плохом искать хоть щепотку положительного. Думаю, эта игра помогла бы нам многим позитивно жить в нашем углюмом мире.
И вот однажды, когда девочке было 11 лет, её отец умер. Она осталась одна. И поэтому Поллианну отправили к сестре матери - её родной тёте. Её звали Полли. Да-да, именно мисс Полли. Ничего не находите знакомого в этом имени? А ведь вторую сестру матери бедняжки звали Анна. Следовательно, имя девочки сложилось от имён двух сестёр Полли-Анна.
Таким образом, девочка приехалак своей тёте. Но мисс Полли не сразу восприняла её в серьёз. Но к счастью девочки у мисс Полли работала Ненси. Она добрая, отзывчивая молодая женщина, которая помогала Поллианне "выжить у тирана".
В итоге Поллианна научила многих своих новых друзей играть в свою игру. А затем и свою тётю раздобрила. Как же чуткое женское сердце не разжалобишь? Ещё Поллианна нашла старого знакомого мисс Полли (потом они поженились) и разговорить его.
В общем, девочка сделала много добра для людей, окружающих её. А это самое ценное, что есть в каждом из нас. Хоть ей и пришлось пережить многие жизненные неурядицы, она продолжала играть в свою игру и встречать каждый день с позитивом.
А вот и сама книга :3Метки: Книжная полка, Читальный зал
4 4 комментария
Роман Богачук: Часть 1.
Общие фотографии нашей группы. Не всей конечно, это только те, кто танцевал на конкурсе.
Моя временная партнёрша, на фотографии Стиляг, стоит в платье с фиолетовым поясом)
Настроение: хорошее
Метки: танцы, путешествие
10 3 комментария
Менелион Эленсуле: Магия рядом, или современные дети, современные учёные и драконы)
Как
сообщает Лента.ру, семилетняя девочка из Австралии по имени Софи Лестер написала в местную организацию по научным исследованиям с просьбой «изобрести» и подарить ей на рождество... дракона.
Учёные ответили девочке несколько дней назад в том духе, что, к сожалению, за 87 лет существования организации они ни разу не занимались вопросами изучения и выведения драконов.
Маленькая Софи отреагировала как истинный маг: она вместе с друзьями несколько раз перечитала письмо и решила стать учёным и, когда повзрослеет, поступить на работу в эту организацию.
Может быть, лет через 20 мы ещё услышим о молодом докторе Лестер, сделавшей прорыв в изучении и выведении драконов)
Настроение: Магия рядом
Метки: Магия, Драконы, Австралия, Учёные
12 2 комментария
Роман Богачук: Вернулся!
Я приехал! Поездка была тяжёлой, но мне всё очень понравилось...почти всё. Чуть позже выставлю отчёт о путешествии.
Вот я уже дома, каникулы закончились, наступила грусть и печаль. Погода ужасная, в первый же день приезда меня встретил сильный ливень, который шёл всю ночь.
Настроение: хорошее
Метки: путешествие, возвращение
7 2 комментария
Лекка Тайр: * * *
Частично "баян", но смешно)
Идёт экзамен.
Профессор: Hа борту самолёта – 500 кирпичей. Один кирпич выпал из самолёта. Сколько на борту осталось кирпичей?
Студент: Ну, это легко. 499.
Профессор: Правильно. Следующий вопрос. Как положить слона в холодильник за 3 шага?
Студент: 1 – открыть холодильник. 2 – положить туда слона. 3 – закрыть холодильник.
Профессор: Дальше. Как положить оленя в холодильник за четыре шага?
Студент: 1 – открыть холодильник. 2 – вытащить слона. 3 – положить оленя. 4 – закрыть холодильник.
Профессор: Отлично! Следующий вопрос. У Короля Льва день рождения. Пришли все животные, кроме одного. Почему?
Студент: Потому что олень всё ещё в холодильнике.
Профессор: Великолепно! Далее. Может ли бабуля пройти через болото с крокодилами?
Студент: Конечно может. Ведь все крокодилы – на дне рождения Короля Льва.
Профессор: Хорошо! А теперь последний вопрос. Бабуля прошла через пустое болото, но всё равно умерла. Что с ней случилось?
Студент: Э-э… Она утонула?
Профессор: Нет… На неё упал кирпич который выпал из самолета! НА ПЕРЕСДАЧУ!
Метки: юмор
8 Комментировать
Ностиэ Эленсуле: * * *
Надоело мне в столице, переехала в охотничий домик) На месяцок)
Лес, тишина... трактир только гудит иногда, но Травник там за порядком смотрит. Зато есть куда прогуляться, если общества захочется))
11 5 комментариев