Как изменить кодировку по умолчанию на UTF-8 для Apache?
Я использую хостинг-компанию, и она будет перечислять файлы в каталоге, если файл index.html
нет ,он использует ISO-8859-1 в качестве кодировки по умолчанию.
если сервер Apache, есть ли способ установить UTF-8 по умолчанию?
Update: кроме того, я узнал, что на самом деле он использует DOCTYPE HTML 3.2, а затем нет кодировки вообще... таким образом, он не устанавливает кодировку. Но есть ли способ изменить его, чтобы использовать UTF-8?
11 ответов
добавьте это в ваш .htaccess
:
IndexOptions +Charset=UTF-8
или, если у вас есть права администратора, вы можете установить его глобально, отредактировав httpd.conf
и добавил:
AddDefaultCharset UTF-8
(вы можете использовать AddDefaultCharset
на .htaccess
тоже, но это не повлияет на созданные Apache списки каталогов таким образом.)
посмотреть Директива AddDefaultCharset, Директива AddCharset и в этой статье.
AddDefaultCharset utf-8
но я должен использовать китайские иероглифы и тогда и сейчас. Ранее я переводил Китайские символы в код Unicode и включите его в документ, используя
&#
рубить. Но это полезно только для страница с несколькими символами.есть лучший способ сделать это: кодировать информацию кодировки в этот filename, и apache выведет правильный заголовок кодирования на основе этого. Это возможно благодаря
AddCharset
строки в файле conf , например, строка ниже:
conf/httpd.conf
:
AddCharset UTF-8 .utf8
Итак, если у вас есть файл, чей имена заканчиваются на
.html.utf8
, apache будет обслуживайте страницу, как если бы она была закодирована в UTF-8 и сбросит правильный директивой кодировки в заголовок соответственно.
место AddDefaultCharset UTF-8
на /etc/apache2/conf.d/charset
. На самом деле, он уже там. Вам просто нужно раскомментировать его, удалив предыдущее #
.
In .откройте файл. htaccess добавить следующую строку:
AddCharset utf-8 .html .css .php .txt .js
Это для тех, кто не имеет доступа к файлу conf своего сервера. Это просто еще одна вещь, чтобы попробовать, когда другие попытки потерпели неудачу.
что касается проблем с производительностью, связанных с использованием .htaccess я этого не видел. Мое типичное время загрузки страницы-150-200 МС С или без .реврайт
какова хорошая производительность, если ваша страница не отображается правильно. Большинство общих серверов не позволяют пользователю файл config, который является предпочтительным местом для добавления набора символов.
Я не уверен, есть ли у вас доступ к конфигурации Apache (httpd.conf), но вы должны иметь возможность установить директиву AddDefaultCharset. См.:
http://httpd.apache.org/docs/2.0/mod/core.html
искать mod_mime.модуль c и убедитесь, что установлено следующее:
AddDefaultCharset utf-8
или эквивалентный Apache 1.X docs (http://httpd.apache.org/docs/1.3/mod/core.html#adddefaultcharset).
однако, это только работает, когда"тип содержимого ответа-text/plain или text/html".
вы также должны убедиться, что ваши страницы имеют кодировку, а также. Посмотреть подробнее:
Это непроверено, но, вероятно, будет работать.
в свой .файл htaccess поставить:
<Files ~ "\.html?$">
Header set Content-Type "text/html; charset=utf-8"
</Files>
однако для этого потребуются mod_headers на сервере.
для полноты, на Apache2 на Ubuntu, вы найдете кодировку по умолчанию в кодировке.conf in conf-доступно.
раскомментируйте строку
AddDefaultCharset UTF-8
где все HTML-файлы находятся в UTF-8 и не имеют мета-тегов для типа контента, я смог установить необходимое значение по умолчанию для этих файлов, отправляемых Apache 2.4, добавив обе директивы:
AddLanguage ru .html
AddCharset UTF-8 .html
просто подсказка, если у вас есть длинные имена файлов в utf-8: по умолчанию они будут сокращены до 20 байт, поэтому может случиться, что последний символ может быть "разрезан пополам" и поэтому не распознан должным образом. Затем вы можете установить следующее:
IndexOptions Charset=UTF-8 NameWidth=*
NameWidth
настройка предотвратит сокращение имен файлов, сделав их правильно отображаемыми и читаемыми.
как уже упоминалось другими пользователями, это должно быть добавлено либо в httpd.conf
или apache2.conf
(если у вас есть права администратора) или .htaccess
(если вы не).
просто оставьте его пустым: 'default_charset' in WHM :::::: default_charset =''
p.s. - В WHM go --------) Главная "конфигурация службы" редактор конфигурации PHP - - - -) нажмите "расширенный режим" - - - -) найдите "default_charset" и оставьте его пустым - - - - просто ничего, не utf8, не ISO