Как корректно отправить письмо в php в кодировке UTF-8

20 Декабрь 2011 1 комментарий
Что делать, если стандартная функция php mail() отправляет письма в неверной кодировке. На самом деле она отправляет что дают и совершенно ничего не проверяет. Что же делать? Немного теории:
Тело письма может быть текстом в любой кодировке. Немного сложнее дело обстоит с составляющими заголовка письма (Subject, From, To), они по стандарту должны быть в US-ASCII. Использование в заголовках кодированного текста регламентируется стандартом RFC-2047. Стандарт задает две возможные формы кодирования - BASE64 и Quoted-Printable. BASE64 более универсальна и работает в том числе для кодировки UTF-8, поэтому мы будем использовать именно эту форму. MIME-совместимый почтовый клиент обязан уметь читать обе формы.
 И практика: Ниже приведен пример простой функции, которая отправляет в требуемой кодировке MIME-совместимые письма на русском языке в виде простого текста или в формате HTML (далее...)
Categories: PHP Tags: , , , ,

Как сделать редирект (перенаправление) в PHP, HTML, javascript и .htaccess

14 Декабрь 2011 1 комментарий
Ниже описаны способы сделать редирект (перенаправление) для каждого варианта.

Редирект PHP

Не забывать: До заголовка не должно выводиться никаких!!! символов. Частая проблема - пробел перед <?php в начале файла Следующий код работать не будет и даст варнинг:

Редирект HTML

  • content - значение указывает количество секунд до переадресации на адрес, указанный в поле url
  • url - адрес для редиректа. Туда и перенаправляем.

Редирект JavaScript

без комментариев... )) В продолжении - Редирект в .htaccess (далее...)

Простой способ выгрузки таблицы в excel из PHP

13 Декабрь 2011 6 comments
Если надо просто выгрузить некую таблицу с сайта как файл excel, то подойдет достаточно простой способ. Основная идея - excel уже давно умеет сохранять свои документы как html. Ну и самое простое решение - сохраняем любой документ именно так, открываем в текстовом редакторе, смотрим что и как там написано, пытаемся воспроизвести. Рассмотрим самый банальный пример: (запрос к базе данных не рассматривается... только та часть, которая выгрузит файл, понятный excel'ю. 1. Формируем заголовок: 2. Теперь можно выводить ранее полученные данные, из MySQL, из файла, еще откуда - не важно. все на ваше усмотрения. Главное НЕ забыть сформировать стандартную HTML шапку под правильную кодировку (например utf-8) что бы в excel корректно отображалась кириллица. И не забываем про то, что кодировка файла скрипта также должна быть такой же. 3. И вот формирование самой таблицы, которая откроется в Excel Код одним блоком внутри (далее). (далее...)
Categories: PHP Tags: , ,

Определение локали из браузера

29 Ноябрь 2011 1 комментарий
Если надо определить автоматически какой язык использовать на многоязычном сайте, то можно посмотреть заголовок, который передаст браузер. Конкретнее:
$_SERVER['HTTP_ACCEPT_LANGUAGE'] в моем случае - ru-RU,ru;q=0.8,en-US;q=0.6,en;q=0.4
ну и можно вытащить наиболее предпочтительную локаль:
$temp = explode(',',$_SERVER['HTTP_ACCEPT_LANGUAGE']); echo $temp[0]; будет - ru-RU
Categories: PHP Tags: , ,