Полезные заметки php, jquery, mysql, ubuntu, android

  • admin

    Очень часто бывает такая задача: просклонять слово в зависимости от числа и вывести не 21 комментариев а 21 комментарий и […]

    Read more

  • irusik

    В это статье мы рассмотрим как вставить в таблицу Excel одну или несколько строк.

    Read more

  • irusik

    В большинстве случаев информация воспринимается гораздо лучше, если она представлено наглядно — в виде графика или диаграммы. В Эксель есть […]

    Read more

  • 12 ноября, 2018 irusik

    Excel предлагает очень много возможностей для работы с данными. В нем можно проводить безумное количество вычислений без особого труда. В […]

    Read more

  • irusik

    При создании документа в Microsoft Excel по умолчанию применяется шрифт Calibri с размером 11 px. Иногда необходимо его изменить, увеличить […]

    Read more

  • admin

    Иногда возникает такая задача, которая может казаться довольно глупой

    Read more

  • irusik

    Часто возникает необходимость посмотреть сохраненные пароли в браузере, например, для того, чтобы передать его кому-то или набрать на другом устройстве. […]

    Read more

  • 26 октября, 2018 irusik

    Случалось ли вам работать в большим количеством вкладок в браузере? Если да, то наверняка вы закрывали нужные вкладки. В этой […]

    Read more

  • admin

    Как то раз задался вопросом: как можно отслеживать исходящий трафик с сервера на centos, debian или ubuntu?

    Read more

  • 12 ноября, 2018 irusik

    На сегодняшний день Яндекс является самой популярной поисковой системой в России и СНГ. В этой статье мы рассмотрим как сделать […]

    Read more

  • irusik

    Иногда необходимо сфотографировать экран монитора. Существует несколько способов сделать снимок экрана на компьютере или ноутбуке с системой Windows. Рассмотрим самый […]

    Read more

  • irusik

    Всем известно, что интернет-браузеры сохраняют историю посещений и поиска. Иногда требуется полностью стереть историю просмотров.

    Read more

  • Популярное
  • Новое

    unicode — установка кодировки PHP по умолчанию на UTF-8

    спросил

    Изменено 1 год, 3 месяца назад

    Просмотрено 197 тысяч раз

    В «Поваренной книге PHP» сказано (стр. 589), что для правильной установки кодировки исходящих данных в UTF-8 необходимо отредактировать default_encoding конфигурация utf-8 .

    Однако я не могу найти эту конфигурацию в файле php.ini . Должен ли я просто добавить строку default_encoding = "utf-8" ?

    У меня есть ;default_charset = «iso-8859-1» . Как видите ( ; ), сейчас он не активирован. Должен ли я удалить точку с запятой и установить ее на "utf-8"

    ? Это заботится о кодировке по умолчанию?

    Я также нашел другие директивы кодирования, с которыми я не знаю, что делать:

     [значок]
    ;iconv.input_encoding = ISO-8859-1
    ;iconv.internal_encoding = ISO-8859-1
    ;iconv.output_encoding = ISO-8859-1
    ...
    ; http://php.net/exif.encode-юникод
    ;exif.encode_unicode = ISO-8859-15
    ...
    ;mssql.charset = "ISO-8859-1"
    ...
    ;exif.encode_unicode = ISO-8859-15
     

    Есть ли причина, по которой я не должен просто заменить их все на utf-8 ?

    • php
    • unicode
    • кодировка
    • кодировка символов
    1

    Вы должны установить default_charset в UTF-8:

    default_charset = "utf-8"

    ( PHP Cookbook может быть опечатка, если вас попросят изменить default_encoding — я никогда не слышал об этом. )

    Вы также должны убедиться, что ваш веб-сервер настроен на вывод UTF-8, если вы собираетесь выводить символы в кодировке UTF-8. В Apache это можно установить в файле httpd.conf :

     AddDefaultCharset UTF-8
     

    Что касается изменения настроек кодирования iconv , exif и mssql , вам, вероятно, не нужно устанавливать их (ваши настройки все равно закомментированы), но рекомендуется изменить их все на UTF-8 во всяком случае.

    6

    Изменить строку

     ;default_charset = "iso-8859-1"
     

    для чтения

     default_charset = "utf-8"
     

    Остальные параметры не трогайте. Избегайте настроек по умолчанию, всегда явно устанавливайте кодировку во всем, что вы делаете

    • соединения с базой данных,
    • чтение и запись файлов,
    • преобразование с помощью iconv.

    Также остерегайтесь кодировки, в которой сохраняются ваши файлы PHP, убедитесь, что они в UTF-8, особенно если они содержат строки для отображения или сравнения.

    У меня возникла проблема с моим запросом MySQL: он не распознавал некоторые латинские акценты, поэтому запрос не выполнялся. Я думал, что это может быть файл PHP и так далее, пока не обнаружил, что с помощью PDO для вызова функции MySQL мне пришлось добавить набор символов. Странно то, что на предыдущем сервере, который я использовал, он работал нормально! 9 2

    На уровне htaccess (файл .htaccess) директива PHP должна быть php_value default_charset UTF-8 .

    Чтобы решить эту проблему, я изменил «UTF-8» на «UTF-8» (без тире), вместо этого решив проблему.

    Это было на CentOS.

    1

    Зарегистрируйтесь или войдите в систему

    Зарегистрируйтесь с помощью Google

    Зарегистрироваться через Facebook

    Зарегистрируйтесь, используя адрес электронной почты и пароль

    Опубликовать как гость

    Электронная почта

    Обязательно, но не отображается

    Опубликовать как гость

    Электронная почта

    Требуется, но не отображается

    Нажимая «Опубликовать свой ответ», вы соглашаетесь с нашими условиями обслуживания и подтверждаете, что прочитали и поняли нашу политику конфиденциальности и кодекс поведения.

    PHP — UTF-8

    DevTut

    Ввод

  • Вы должны проверить каждую полученную строку как допустимую UTF-8, прежде чем пытаться сохранить или использовать ее где-либо. [`mb_check_encoding()`](http://php.net/manual/en/function.mb-check-encoding.php) в PHP делает свое дело, но вы должны использовать его последовательно. Обойти это действительно невозможно, так как вредоносные клиенты могут отправлять данные в любой кодировке, которую они хотят.
  • **Если вы используете HTML5, вы можете игнорировать этот последний пункт.** Вы хотите, чтобы все данные, отправляемые вам браузерами, были в кодировке UTF-8. Единственный надежный способ сделать это — добавить атрибут accept-charset ко всем вашим тегам « следующим образом:
  • Выход

  • Если ваше приложение передает текст в другие системы, им также необходимо сообщить кодировку символов. В PHP вы можете использовать опцию [`default_charset`](http://www. php.net/manual/en/ini.core.php#ini.default-charset) в `php.ini` или вручную ввести заголовок MIME `Content-Type` самостоятельно. Это предпочтительный метод для современных браузеров.
  • Если вы не можете установить заголовки ответа, вы также можете установить кодировку в HTML-документе с помощью [метаданных HTML] (http://stackoverflow.com/q/4696499/4245525).
    • HTML5
    • Старые версии HTML
    • Хранение данных и доступ к ним

      В этом разделе конкретно рассматривается UTF-8 и рекомендации по ее использованию с базой данных. Если вам нужна дополнительная информация об использовании баз данных в PHP, ознакомьтесь с этой темой (открывается в новом окне).

      Хранение данных в базе данных MySQL:

    • Укажите набор символов `utf8mb4` для всех таблиц и текстовых столбцов в вашей базе данных. Это заставляет MySQL физически хранить и извлекать значения, изначально закодированные в UTF-8.
      MySQL будет неявно использовать кодировку `utf8mb4`, если указана сортировка `utf8mb4_*` (без явного набора символов).
    • — Старые версии MySQL (< 5.5.3) не поддерживают `utf8mb4`, поэтому вам придется использовать `utf8`, который поддерживает только подмножество символов Unicode.

      Доступ к данным в базе данных MySQL:

    • В коде вашего приложения (например, PHP), в любом методе доступа к БД, который вы используете, вам необходимо установить кодировку соединения на `utf8mb4`. Таким образом, MySQL не выполняет преобразование из своей родной UTF-8, когда передает данные вашему приложению и наоборот.
    • Некоторые драйверы предоставляют собственный механизм настройки набора символов соединения, который одновременно обновляет собственное внутреннее состояние и информирует MySQL о кодировке, которая будет использоваться для соединения. Обычно это предпочтительный подход. Например (применяется то же соображение относительно `utf8mb4`/`utf8`, что и выше):
      • Если вы используете уровень абстракции [PDO](http://www.php.net/manual/en/book.pdo.php) с PHP ≥ 5. 3.6, вы можете указать `charset` в [DSN] (http://www.php.net/manual/en/ref.pdo-mysql.connection.php):
      • Если вы используете [mysqli](http://www.php.net/manual/en/book.mysqli.php), вы можете вызвать [`set_charset()`](http://www.php.net /manual/ru/mysqli.set-charset.php):
      • Если вы застряли с обычным [mysql](http://www.php.net/manual/en/book.mysql.php), но используете PHP ≥ 5.2.3, вы можете вызвать [`mysql_set_charset`] (http://www.php.net/manual/en/function.mysql-set-charset.php).
      • Если драйвер базы данных не предоставляет собственного механизма для установки набора символов соединения, вам, возможно, придется выполнить запрос, чтобы сообщить MySQL, как ваше приложение ожидает, что данные для соединения будут закодированы: [`SET NAMES ‘utf8mb4’`](http ://dev.mysql.com/doc/en/charset-connection.html).
      • Вы должны убедиться, что каждый раз, когда вы обрабатываете строку UTF-8, вы делаете это безопасно. Это, к сожалению, самая сложная часть. Вероятно, вы захотите широко использовать расширение PHP [`mbstring`](http://www.