• • •
Apache - httpd.conf - Log
 
• • •
Options - Order - Auth
 
• • •
ErrorDocument
 
• • •
AddType - MIME types
 
• • •
CharsetDefault - CharsetSourceEnc
 
• • •
Redirect - RedirectMatch
 
• • •
Mod_rewrite - RewriteCond
 
• • •
AddHandler - Pass(Set)Env
 
• • •
PHP - .htaccess
 
• • •
Дополнительный материал
 
Реклама


 
Google


 
Указание явной кодировки

Указание явной кодировки

Еще одна очень важная и востребованная возможность реализуема с использованием AddType. Речь идет о явном указании кодировки (.htaccess кодировка) для документов.

AddDefaultCharset задает дефолтную таблицу символов (кодировку) для всех выдаваемых страниц на веб сервере Apache.

Указываем кодировку на все файлы, в которой по умолчанию получает документы браузер:

AddDefaultCharset WINDOWS-1251

Это наиболее важная директива из представленных на данной странице, так как часто можно увидеть такую картину, что скрипты выдают или включают в страницу элементы в кодировке в отличной от кодировки основного документа, т.е. содержимое основного блока страницы читается, а различные блоки с например опросами сервер выдает в другой - в итоге мы видим просто непонятные закорючки. Данная директива избавляет вас от таких проблем, при чем данный неприятный эффект наблюдаеться в различных браузероах по разному, особенно часто этим грешила Опера.

При загрузке файла на сервер (не важно кем - админом или посетителем), возможна перекодировка, его - указываем, что все получаемые файлы будут иметь кодировку windows-1251,для того что бы указать кодировку на загружаемые файлы напишем:

CharsetSourceEnc windows-1251

Если необходимо отменить перекодировку сервером файлов:

CharsetDisable On

Принято, чтобы при попадании на русскоязычный сервер пользователь получал страницу в "своей" кодировке, определяемой автоматически на основе той информации об операционной системе, которую передает серверу браузер: например, установив, что пользователь работает в Windows, сервер выдает ему страницу в кодировке Windows-1251, а установив, что он работает в Unix, выдает страницу в koi8. Если выбранная таким образом страница не подходит, клиент может сменить кодировку вручную. Основных схем выбора три: по префиксу каталога , по имени виртуального сервера и по номеру порта. У каждой из них есть свои преимущества и свои недостатки.
  1. http://htaccess.net.ru/koi/index.php
    http://htaccess.net.ru/win/index.php - выбор кодировки по префиксу каталога
  2. http://koi.htaccess.net.ru/index.php
    http://win.htaccess.net.ru/index.php - выбор кодировки по имени сервера
  3. http://htaccess.net.ru:8001/index.php
    http://htaccess.net.ru:8001/index.php - выбор кодировки по порту
А теперь допустим, все страницы Вашего сервера выполнены в кодировке windows-1251, все хорошо, все работает. Однако, вдруг понадобилось сделать подраздел сервера например на финском языке. Вы создали у себя на компьютере соответствующие страницы, текст которых написан по-фински, загрузили на сервер в специальный каталог (например, http://www.Ваш_сервер.ru/fin) и, казалось бы, все сделано, но буквы национального алфавита показываются браузером неверно.

В таких случаях нужно явно указывать кодировку, в которой выполнены соответствующие страницы. Без этого браузер не поймет как нужно отображать национальные символы, которые находятся в документе. Более того, если для всего сервера выдается кодировка windows-1251, естественно, финские страницы будут выданы браузеру тоже с кодировкой windows-1251 в заголовке, что приведет к стопроцентно неправильному отображению.

Итак, учимся выдавать нужную кодировку с помощью настройки .htaccess. Как уже говорилось, документы на другом языке лежат у нас в подкаталоге /fin. Заходим в него, создаем там файл .htaccess и добавляем туда строчку:

# содержание файла .htaccess:

AddType "text/html; charset=iso-8859-1" .html

В результате для всех файлов с расширением .html в каталоге /fin будет выдаваться такой http-заголовок:

telnet net.ru 80

Connected to net.ru.

HEAD /fin/index.html HTTP/1.1

Host: net.ru

HTTP/1.1 200 OK

Last-Modified: Wed, 22 Jul 2005 16:29:30 GMT

Connection: close

Content-Type: text/html; charset=iso-8859-1

Кодировку iso-8859-1 в данном случае мы использовали потому что финский язык это именно iso-8859-1. Это общий набор символов для большинства западноевропейских языков. Узнайте какой charset должен выдаваться для нужного Вам языка и воспользуйтесь AddType.

Предположим, что вам необходимо установить кодировку windows-1251 на все файлы с расширением .htm и кодировку koi-8r на все файлы с расширением .htm, различные кодировки для различных типов файлов:

AddType "application/x-httpd-php3; charset=windows-1251" .html

AddType "application/x-httpd-php3; charset=koi-8r" .htm

С программной точки зрения - удобней всего использовать деление - определение языка сайта по каталогу или поддомену. Что мы можем видеть по модулям популярных движков. Ниже приведен стандарт кодов - доменов для всех стран (языков конечно же значительно меньше):

Название страны:  Список кодов стран по ISO 3166:
A  A    
Афганистан  AFGHANISTAN  AF 
Аландских островов  ÅLAND ISLANDS  AX 
Албания  ALBANIA  AL 
АЛЖИР ALGERIA  DZ 
Американского Самоа,  AMERICAN SAMOA  AS 
АНДОРРА  ANDORRA  AD 
АНГОЛА ANGOLA  AO 
АНГИЛЬЯ ANGUILLA  AI 
АНТАРКТИДА ANTARCTICA  AQ 
АНТИГУА И БАРБУДА ANTIGUA AND BARBUDA  AG 
Аргентина ARGENTINA  AR 
АРМЕНИЯ ARMENIA  AM 
Аруба  ARUBA  AW 
Австралия AUSTRALIA  AU 
Австрия AUSTRIA  AT 
Азербайджан AZERBAIJAN  AZ 
B  B    
Бананас BAHAMAS  BS 
Бахрейн  BAHRAIN  BH 
Бангладеш  BANGLADESH  BD 
БАРБАДОС BARBADOS  BB 
Беларусь  BELARUS  BY 
Бельгия BE  BELGIUM  BE 
Белиз  BELIZE  BZ 
Бенин  BENIN  BJ 
БЕРМУДСКИЕ BERMUDA  BM 
Бутан  BHUTAN  BT 
БОЛИВИЯ BO  BOLIVIA  BO 
БОСНИЯ И ГЕРЦЕГОВИНА BOSNIA AND HERZEGOVINA  BA 
BW Ботсвана  BOTSWANA  BW 
ОСТРОВ БУВЕ BOUVET ISLAND  BV 
БРАЗИЛИЯ BRAZIL  BR 
Британские индийские территории BRITISH INDIAN OCEAN TERRITORY  IO 
БРУНЕЙ-ДАРУССАЛАМ BRUNEI DARUSSALAM  BN 
Болгария BULGARIA  BG 
БУРКИНА-ФАСО BURKINA FASO  BF 
БУРУНДИ BURUNDI  BI 
C  C    
КАМБОДЖА CAMBODIA  KH 
Камерун  CAMEROON  CM 
Канада  CANADA  CA 
CAPE VERDE CAPE VERDE  CV 
ВИРГИНСКИЕ ОСТРОВА CAYMAN ISLANDS  KY 
Центральноафриканская Республика CENTRAL AFRICAN REPUBLIC  CF 
ЧАД  CHAD  TD 
ЧИЛИ CHILE  CL 
Китай  CHINA  CN 
ОСТРОВ РОЖДЕСТВА  CHRISTMAS ISLAND  CX 
Кокосовые (Килинг) острова  COCOS (KEELING) ISLANDS  CC 
КОЛУМБИЯ  COLOMBIA  CO 
Коморские Острова  COMOROS  KM 
КОНГО CONGO  CG 
Конго, Демократическая Республика  CONGO, THE DEMOCRATIC REPUBLIC OF THE  CD 
ОСТРОВА КУКА  COOK ISLANDS  CK 
КОСТА-РИКА  COSTA RICA  CR 
Кот-д Ивуар  CÔTE D'IVOIRE  CI 
Хорватия  CROATIA  HR 
КУБА  CUBA  CU 
Кипр  CYPRUS  CY 
ЧЕХИЯ CZECH REPUBLIC  CZ 
D  D    
Дания DENMARK  DK 
Джибути  DJIBOUTI  DJ 
ДОМИНИКА  DOMINICA  DM 
Доминиканская Республика DOMINICAN REPUBLIC  DO 
E  E    
ЭКВАДОР  ECUADOR  EC 
ЕГИПЕТ  EGYPT  EG 
САЛЬВАДОР EL SALVADOR  SV 
Экваториальная Гвинея  EQUATORIAL GUINEA  GQ 
ЭРИТРЕЯ ERITREA  ER 
Эстония ESTONIA  EE 
ЭФИОПИЯ  ETHIOPIA  ET 
F  F    
ФОЛКЛЕНДСКИЕ (МАЛЬВИНСКИЕ)  FALKLAND ISLANDS (MALVINAS)  FK 
Фарерские Острова  FAROE ISLANDS  FO 
Фиджи  FIJI  FJ 
Финляндия  FINLAND  FI 
Франция  FRANCE  FR 
ФРАНЦУЗСКИЙ Гвиана FRENCH GUIANA  GF 
Французская Полинезия  FRENCH POLYNESIA  PF 
ФРАНЦУЗСКИЙ Южные Территории  FRENCH SOUTHERN TERRITORIES  TF 
G  G    
ГАБОН  GABON  GA 
ГАМБИЯ  GAMBIA  GM 
ГРУЗИЯ GEORGIA  GE 
Германия  GERMANY  DE 
Гана  GHANA  GH 
ГИБРАЛТАР  GIBRALTAR  GI 
Греция GREECE  GR 
ГРЕНЛАНДИЯ  GREENLAND  GL 
ГРЕНАДА  GRENADA  GD 
ГВАДЕЛУПА  GUADELOUPE  GP 
ГУАМ  GUAM  GU 
ГВАТЕМАЛА  GUATEMALA  GT 
ГЕРНСИ  GUERNSEY  GG 
ГВИНЕЯ  GUINEA  GN 
ГВИНЕЯ-БИСАУ  GUINEA-BISSAU  GW 
Гайана  GUYANA  GY 
H  H    
ГАИТИ  HAITI  HT 
Остров Херд и Макдональд  HEARD ISLAND AND MCDONALD ISLANDS  HM 
Святой Престол (Ватикан)  HOLY SEE (VATICAN CITY STATE)  VA 
Гондурас  HONDURAS  HN 
Гонконг HONG KONG  HK 
ВЕНГРИЯ HUNGARY  HU 
I I    
Исландия  ICELAND  IS 
ИНДИИ  INDIA  IN 
INDONESIA  INDONESIA  ID 
ИРАН  IRAN, ISLAMIC REPUBLIC OF  IR 
ИРАК  IRAQ  IQ 
Ирландия  IRELAND  IE 
ОСТРОВ МЭН ISLE OF MAN  IM 
Израиль  ISRAEL  IL 
Италия  ITALY  IT 
J  J    
Ямайка  JAMAICA  JM 
Япония  JAPAN  JP 
ДЖЕРСИ JERSEY  JE 
ИОРДАНИЯ  JORDAN  JO 
К  K    
КАЗАХСТАН  KAZAKHSTAN  KZ 
КЕНИЯ  KENYA  KE 
КИРИБАТИ KIRIBATI  KI 
КОРЕЯ, НАРОДНО-ДЕМОКРАТИЧЕСКОЙ РЕСПУБЛИКИ  KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF  KP 
Республика Корея  KOREA, REPUBLIC OF  KR 
КУВЕЙТ  KUWAIT  KW 
КЫРГЫЗСТАН KYRGYZSTAN  KG 
L  L    
ЛАОССКАЯ НАРОДНО-ДЕМОКРАТИЧЕСКОЙ РЕСПУБЛИКИ LAO PEOPLE'S DEMOCRATIC REPUBLIC  LA 
Латвия  LATVIA  LV 
Ливан  LEBANON  LB 
ЛЕСОТО  LESOTHO  LS 
ЛИБЕРИЯ  LIBERIA  LR 
Ливийская Арабская Джамахирия LIBYAN ARAB JAMAHIRIYA  LY 
ЛИХТЕНШТЕЙН LIECHTENSTEIN  LI 
Литва LITHUANIA  LT 
ЛЮКСЕМБУРГ LUXEMBOURG  LU 
М  M    
МАКАО МО  MACAO  MO 
Македония, Бывшая югославская Республика MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF  MK 
МАДАГАСКАР  MADAGASCAR  MG 
МАЛАВИ  MALAWI  MW 
Малайзия  MALAYSIA  MY 
Мальдивы MALDIVES  MV 
Мали  MALI  ML 
Мальта MALTA  MT 
МАРШАЛЛОВЫ ОСТРОВА MARSHALL ISLANDS  MH 
МАРТИНИКА  MARTINIQUE  MQ 
МАВРИТАНИЯ MAURITANIA  MR 
Маврикий  MAURITIUS  MU 
МАЙОТТА  MAYOTTE  YT 
МЕКСИКА  MEXICO  MX 
Микронезия, Федеративные Штаты  MICRONESIA, FEDERATED STATES OF  FM 
Молдова  MOLDOVA  MD 
МОНАКО  MONACO  MC 
МОНГОЛИЯ  MONGOLIA  MN 
ЧЕРНОГОРИЯ  MONTENEGRO  ME 
Монтсеррат  MONTSERRAT  MS 
МАРОККО  MOROCCO  MA 
МОЗАМБИК  MOZAMBIQUE  MZ 
МЬЯНМА MYANMAR  MM 
N  N    
НАМИБИЯ NAMIBIA  NA 
НАУРУ  NAURU  NR 
НЕПАЛ NEPAL  NP 
Нидерланды  NETHERLANDS  NL 
НИДЕРЛАНДЫ АНТИЛЬСКИЕ  NETHERLANDS ANTILLES  AN 
Новая Каледония  NEW CALEDONIA  NC 
Новая зеландия NEW ZEALAND  NZ 
НИКАРАГУА NICARAGUA  NI 
Нигер  NIGER  NE 
НИГЕРИЯ NIGERIA  NG 
NIUE NIUE  NU 
NORFOLK ISLAND NORFOLK ISLAND  NF 
СЕВЕРНЫЕ МАРИАНСКИЕ ОСТРОВА  NORTHERN MARIANA ISLANDS  MP 
НОРВЕГИЯ:  NORWAY  NO 
O  O    
ОМАН  OMAN  OM 
П  P    
ПАКИСТАН  PAKISTAN  PK 
 Палау  PALAU  PW 
Палестинской территории, оккупированной  PALESTINIAN TERRITORY, OCCUPIED  PS 
Панама  PANAMA  PA 
ПАПУА-НОВАЯ ГВИНЕЯ  PAPUA NEW GUINEA  PG 
Парагвай  PARAGUAY  PY 
ПЕРУ  PERU  PE 
ФИЛИППИНЫ  PHILIPPINES  PH 
ПИТКЭРН  PITCAIRN  PN 
Польша  POLAND  PL 
Португалия  PORTUGAL  PT 
ПУЭРТО-РИКО PUERTO RICO  PR 
Q  Q    
КАТАР  QATAR  QA 
R  R   
Реюньон  RÉUNION  RE 
Румыния  ROMANIA  RO 
РУССКИЙ Федерации  RUSSIAN FEDERATION  RU 
РУАНДА  RWANDA  RW 
S  S    
Санкт BARTHELEMY SAINT BARTHÉLEMY  BL 
ОСТРОВ СВЯТОЙ ЕЛЕНЫ  SAINT HELENA  SH 
СЕНТ-КИТС И НЕВИС  SAINT KITTS AND NEVIS  KN 
Сент-Люсия  SAINT LUCIA  LC 
Сен-Мартен  SAINT MARTIN  MF 
Сен-Пьер и МИКЕЛОН PM  SAINT PIERRE AND MIQUELON  PM 
СЕНТ-ВИНСЕНТ И ГРЕНАДИНЫ  SAINT VINCENT AND THE GRENADINES  VC 
Самоа  SAMOA  WS 
САН-МАРИНО  SAN MARINO  SM 
САН-ТОМЕ И ПРИНСИПИ  SAO TOME AND PRINCIPE  ST 
САУДОВСКАЯ АРАВИЯ  SAUDI ARABIA  SA 
СЕНЕГАЛ  SENEGAL  SN 
СЕРБИЯ  SERBIA  RS 
Сейшельские острова  SEYCHELLES  SC 
СЬЕРРА-ЛЕОНЕ SIERRA LEONE  SL 
СИНГАПУР  SINGAPORE  SG 
Словакия SLOVAKIA  SK 
Словения SLOVENIA  SI 
Соломоновы Острова  SOLOMON ISLANDS  SB 
Сомали SOMALIA  SO 
ЮЖНАЯ АФРИКА Жилина  SOUTH AFRICA  ZA 
Южная Георгия и Южные Сандвичевы острова SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS  GS 
Испания  SPAIN  ES 
Шри-Ланка  SRI LANKA  LK 
СУДАН  SUDAN  SD 
Суринам  SURINAME  SR 
Шпицберген и Ян-Майен SVALBARD AND JAN MAYEN  SJ 
СВАЗИЛЕНД  SWAZILAND  SZ 
Швеция  SWEDEN  SE 
Швейцария  SWITZERLAND  CH 
СИРИЙСКАЯ АРАБСКАЯ РЕСПУБЛИКА   SYRIAN ARAB REPUBLIC  SY 
Т  T    
Тайвань TAIWAN, PROVINCE OF CHINA  TW 
Таджикистан  TAJIKISTAN  TJ 
Танзания, Объединенная Республика TANZANIA, UNITED REPUBLIC OF  TZ 
ТАИЛАНД THAILAND  TH 
ВОСТОЧНЫЙ ТИМОР TIMOR-LESTE  TL 
Того  TOGO  TG 
ТОКЕЛАУ TOKELAU  TK 
Тонга  TONGA  TO 
ТРИНИДАД И ТОБАГО TRINIDAD AND TOBAGO  TT 
ТУНИС TUNISIA  TN 
Турция TURKEY  TR 
ТУРКМЕНИСТАН TURKMENISTAN  TM 
ТЕРКС И КАЙКОС TURKS AND CAICOS ISLANDS  TC 
Тувалу TUVALU  TV 
U  U    
Уганда  UGANDA  UG 
УКРАИНА UKRAINE  UA 
ОБЪЕДИНЕННЫЕ АРАБСКИЕ ЭМИРАТЫ UNITED ARAB EMIRATES  AE 
Соединенное Королевство UNITED KINGDOM  GB 
США UNITED STATES  US 
Малые отдаленные острова UNITED STATES MINOR OUTLYING ISLANDS  UM 
Уругвай  URUGUAY  UY 
Узбекистан  UZBEKISTAN  UZ 
V  V    
ВАНУАТУ VANUATU  VU 
ВЕНЕСУЭЛА VENEZUELA  VE 
ВЬЕТНАМ VIET NAM  VN 
Virgin Islands, British VIRGIN ISLANDS, BRITISH  VG 
Виргинские острова VIRGIN ISLANDS, U.S.  VI 
W  W    
Уоллис и Футуна WALLIS AND FUTUNA  WF 
ЗАПАДНАЯ САХАРА WESTERN SAHARA  EH 
Y  Y    
Йемен  YEMEN  YE 
Z  Z    
Замбия  ZAMBIA  ZM 
ЗИМБАБВЕ ZIMBABWE  ZW
Объем информации: 98135 bytes
Россия • A-M • admin@htaccess.net.ru 2005 - 2010 • Recommended Web Hosting


 
  In Partnership with AOL Search    службы мониторинга серверов
  Рекламный материал:
 

  
Рекламный материал: