Utf-8 Php Файлов

Posted on by  admin

Далее будут рассмотрены способы, как подружить строковые функции PHP с кодировкой UTF-8. Редактирование скриптов в кодировке UTF-8. Для редактирования скриптов в кодировке UTF-8 необходим редактор, который не только понимает эту кодировку, но и не добавляет специальный символ, из за наличия которого скрипты могут вести себя неожиданным образом.. Функция win1251_to_utf8() обрабатывает все вложенные директории и файлы, позволяя задать исключения - файлы и директории, данные в которых конвертировать в UTF-8 не нужно. Также необходимо задать расширения файлов - только файлы с заданными расширениями будут конвертированы.

Как всегда приветствую Вас, ищущего полезную информацию по верстке сайтов. Сегодня мы поговорим о кодировке файлов. Данную тему важно запомнить один раз и больше к ней не возвращаться. Сегодня мы будем говорить о том, как сохранить файл в кодировке utf-8, почему необходимо использовать utf-8?

Что же такое юникод, utf-8, преимущества и минусы можно почитать на Wikipedia, так и на других сайтах, например, мне понравилась, в ней интересно описано откуда и почему появились кодировки ASCII, юникод и UTF 8, расширенная ASCII (Windows 1251, CP866, KOI8-R). Давайте, перейдем к нашей теме и начнем разбираться с проблемами во время нашей.

Основной проблемой неправильной кодировки это отображение текста как кроказябли, непонятные символы и т.д. Так же в кодировке window-1251 отсутствуют специальные символы (что-то типа копирайтов §, ©, ‰) и другие пинтограммы (♥, ☺). Все это от того, что в cp1251, например, всего 256 символов (что в принципе достаточно для кирилицы), а в Unicode более 100 000 символов.

Поэтому я советую создавать html каркас (как ) и вообще сайты с кодировкой utf-8. Вы скажите мне достаточно window-1251, так как я использую кириллицу. Полностью согласен с Вами, но если Вы захотите использовать специальные символы, или сделать мультиязычный сайт? Ну, а в связи с тем, что я верстаю для Казахстана, то кодировки cp1251 изначально не подходит, так как обычно используется казахский, русский и английский языки. Лучше запостись символами.

Php

Как сохранить файл в кодировке utf-8 без BOM? (utf-8 without BOM) Именно так и надо сохранять без BOM (Byte Order Mark или— сигнатура – три символа, которые все портят).

Не все программы способны сохранять файлы в кодировке utf-8 без BOM. Яркий пример – Блокнот от Windows. Программа Notepad Программа шикарная и очень полезная как для верстальщика, так и для программистов, веб-разработчиков. Посетите, там же можно скачать редактор совершенно бесплатно. Откройте файл и выберите преобразовать в utf-8 без BOM. Если нажмете кодировать в utf-8 без BOM, то произойдет следующее. Если сомневаетесь и, чтобы не рисковать всегда делайте backup – резервное копирование!

Программа PhpDesigner PhpDesigner – удобный редактор. Программа платная.

Немного сложней будет. Для начала проведем настройки для браузеров: 1. Откройте выпадающее меню: Создать новый файл - Изменить шаблон (Edit template) либо Файл - Новый - Edit templates 2. Выберите Html и вставьте туда следующий код и поставьте галочку на «Использовать данный шаблон для HTML/XHTML» (Use this template for HTML/XHTML):

Для преобразования отдельного файла используйте: Файл - Кодировка файла - utf-8 Текущую кодировку можно увидеть в нижней части программы слева. Можно, конечно, пойти другим путем. Создать файл, после открыть файл в Notepad и сделать соответствующие настройки.

Программа PSpad - еще один неплохой текстовый редактор. Кстати, полностью бесплатный. Функций больше чем у Notepad.

Поменять кодировку текущего файла в Pspad очень просто: Вкладка Формат - Выбрать необходимую кодировку (например, utf-8) Кодировка для браузеров по умолчанию: Создать новый файл (Ctrl + N) - Из шаблона - Html - Html 4.01 Transitional - Правка В charset впишите необходимую кодировку, например:

Ваш хостинг может не поддерживать данные настройки. Сообщение кодировки для браузеров Как браузеры понимают, в какой кодировке Вы писали свой файл? Для этого и существует строка (мета данные): Т.е. Браузер по умолчанию «читает» страницу в кодировке utf-8. Это Вы в принципе, должны знать еще из школьной программы.

В принципе, это основные настройки. Если остались вопросы, отписывайтесь в комметариях, чтобы закрыть эту тему с кодировкой и сохранить себе нервы. Надеюсь информация была полезной.

Спасибо за Ваши like и ретвиты. С/у Постовой: Если Ваш интернет магазин не приносит доходы, то пора сделать полный. Хватит терять потенциальных клиентов! На десерт сегодня вирусное видео про Светлакова.

Но все же мне понравилось, обязательно надо сходить на его фильм.

Yuriy Я использую юникод потому что он более универсален и позволяет создавать многоязычные приложения. Преимуществ у utf-8 больше. Погуглите на эту тему. Почитал, согласен. Тем не менее, я не пойму, что творится у меня на хостинге. Отдал заголовок в header, в meta также прописал utf-8.

В браузере - фигня вместо моих символов. Выбирал в них кодировку utf-8 - тоже всё как и было. Когда выберешь windows-1251 - тогда текст нормально отображается. Вопрос: я указал в документе кодировку utf-8 и даже в браузере её выбрал - почему текст нормально не отобразился? Не врубаюсь в особенности работы с этой кодировкой.

Valenok, спасибо! Дело было в том, что забыл кодировку документа поменять!

Теперь при выборе в браузере UTF-8 всё как положено Но. У меня также всё отлично работает без пунктов 2 и 3. Я их убрал из документа. Значит, у сервера по-умолчанию стоит UTF-8 и не стоит беспокоиться на счёт этих двух пунктов - я правильно понял? Второй вопрос.

Если выставить в браузере windows-1251 - опять фигня вместо символов. Оно и понятно, в общем-то - ведь в Юникоде работаю. Это нормальное явление и обращать на него внимание не нужно? Третий вопрос.

У меня сайт только на русском языке - нафига использовать Юникод? Что меня должно всё равно заставить его использовать в данном случае? (Отредактировано автором: 17 Октября, 2008 - 03:19:40). Насчёт мета тегов это обязательно для любой кодировки которую вы используете, а касаемо заголовка - если апач настроен отсылать его за вас - это хорошо, а если вы завтра переедете, продадите или сис.админ хостинг провайдера уволится, то вы мягко говоря, окажетесь в пролете. Я всегда принудительно отсылаю заголовки через php или указываю их добавление в.htaccess А юникод поддерживается во всех браузерах, будь то китайский француз который забредет на ваш сайт и увидит то что он должен увидеть или какой нибудь вася будет смотреть ваш сайт через гугл кэш (кнопочка сохранённая копия при поиске), то отображаться он будет корректно.

Благо в случае с гуглом, они сами постараются сделать всё за вас, но и у них это получается только на 95%.

Comments are closed.