웹마스터 팁

팁 내용:
PHP의 변수를 이용 웹 브라우저가 어느 나라 언어로 인코딩(encoding)이 설정되어 있는지 알아보기

팁 배경:
이번에 브라우저로 노는 웹 게임을 한글화/개발하면서, 영어 한국어 사용자 모두 놀 수 있도록 다국어 지원을 넣었습니다. (게임 소스 보고 싶으신 분은 오픈 소스이니 http://digirave.net 에서 다운 받을 수 있습니다)

팁 내용:
브라우저가 기본 encoding type을 서버에게 보내줍니다. 이것은 $HTTP_ACCEPT_LANGUAGE 라는 전역 변수를 통해 볼 수 있습니다.

한국어의 경우 $HTTP_ACCEPT_LANGUAGE 변수는 "ko" 입니다. 영어인 경우는 "en" 입니다. 자세한 모든 나라는 밑에 실제 제 홈페이지 http://digirave.net 의 index.php 파일과 함께 첨가합니다.

팁 실제 예(http://digirave.net 의 index file):
예제 내용: 브라우저의 인코딩으로 쿠키 설정을 함으로써 영문 방문자와 한글 방문자에게 알맞은 페이지를 보여줍니다. 나중에 영문인지 한글인지 인식이 쉽도록 lang 으로 쿠키를 하나 설정합니다
  $gamedomain = ".digirave.net";
  $gamepath = "/";

  $host = getenv("HTTP_HOST");  
  if (preg_match("/www.digirave.net/", $host) || preg_match("/gagaspace/", $host))  {
  Header("Location: http://digirave.net");
  exit;
  }
//이 부분을 보세요..................... 한글 방문자의 경우 kr_frame으로 가게 되고
if(preg_match('/ko/', $HTTP_ACCEPT_LANGUAGE)) {
  if((!preg_match('/korean/', $GLOBALS[lang])) && (!preg_match('/english/', $GLOBALS[lang])))  {
    $lang = 'korean';
    SetCookie("lang",$lang,time()+(3600*24)*365,"/");
    }
  header("Location: http://digirave.net/digibbs/php/kr_frame.php");
  exit;
  }
//이 부분을 보세요............... 영문 방문자의 경우 en_frame으로 가게 됩니다.
else  {
  if((!preg_match('/korean/', $GLOBALS[lang])) && (!preg_match('/english/', $GLOBALS[lang])))  {
    $lang = 'english';
    SetCookie("lang",$lang,time()+(3600*24)*365,"/");
    }
  header("Location: http://digirave.net/digibbs/php/en_frame.php");
  exit;
  }
?>

팁 참고 자료:
설명: $HTTP_ACCEPT_LANGUAGE의 모든 언어 설정입니다

Afrikaans (af)
Albanian (sq)
Basque (eu)
Bulgarian (bg)
Byelorussian (be)
Catalan (ca)
Chinese (zh)
Chinese/China (zh-cn)
Chinese/Taiwan (zh-tw)
Chinese/Hong Kong (zh-hk)
Chinese/singapore (zh-sg)
Croatian (hr)
Czech (cs)
Danish (da)
Dutch (nl)
Dutch/Belgium (nl-be)
English (en)
English/United Kingdom (en-gb)
English/United Satates (en-us)
English/Australian (en-au)
English/Canada (en-ca)
English/New Zealand (en-nz)
English/Ireland (en-ie)
English/South Africa (en-za)
English/Jamaica (en-jm)
English/Belize (en-bz)
English/Trinidad (en-tt)
Estonian (et)
Faeroese (fo)
Farsi (fa)
Finnish (fi)
French (fr)
French/Belgium (fr-be)
French/France (fr-fr)
French/Switzerland (fr-ch)
French/Canada (fr-ca)
French/Luxembourg (fr-lu)
Gaelic (gd)
Galician (gl)
German (de)
German/Austria (de-at)
German/Germany (de-de)
German/Switzerland (de-ch)
German/Luxembourg (de-lu)
German/Liechtenstein (de-li)
Greek (el)
Hindi (hi)
Hungarian (hu)
Icelandic (is)
Indonesian (id or in)
Irish (ga)
Italian (it)
Italian/ Switzerland (it-ch)
Japanese (ja)
Korean (ko)
Latvian (lv)
Lithuanian (lt)
Macedonian (mk)
Malaysian (ms)
Maltese (mt)
Norwegian (no)
Polish (pl)
Portuguese (pt)
Portuguese/Brazil (pt-br)
Rhaeto-Romanic (rm)
Romanian (ro)
Romanian/Moldavia (ro-mo)
Russian (ru)
Russian /Moldavia (ru-mo)
Scots Gaelic (gd)
Serbian (sr)
Slovack (sk)
Slovenian (sl)
Sorbian (sb)
Spanish (es or es-do)
Spanish/Argentina (es-ar)
Spanish/Colombia (es-co)
Spanish/Mexico (es-mx)
Spanish/Spain (es-es)
Spanish/Guatemala (es-gt)
Spanish/Costa Rica (es-cr)
Spanish/Panama (es-pa)
Spanish/Venezuela (es-ve)
Spanish/Peru (es-pe)
Spanish/Ecuador (es-ec)
Spanish/Chile (es-cl)
Spanish/Uruguay (es-uy)
Spanish/Paraguay (es-py)
Spanish/Bolivia (es-bo)
Spanish/El salvador (es-sv)
Spanish/Honduras (es-hn)
Spanish/Nicaragua (es-ni)
Spanish/Puerto Rico (es-pr)
Sutu (sx)
Swedish (sv)
Swedish/Findland (sv-fi)
Thai (ts)
Tswana (tn)
Turkish (tr)
Ukrainian (uk)
Urdu (ur)
Vietnamese (vi)
Xshosa (xh)
Yiddish (ji)
Zulu (zu)

팁 코멘트:

if(preg_match('/ko/', $HTTP_ACCEPT_LANGUAGE)) {
로 하고
if($HTTP_ACCEPT_LANGUAGE == "ko")  {
로 안 했냐구요?

phpschool의 L.S 님의 지적:
HTTP_ACCEPT_LANGUAGE 값은 단순히 "ko" 하나만 넘어오지 않는 경우도 있습니다. 브라우저에서 추가하면 여러개가 동시에 넘어오는 경우도 있지요.(지금 집이 아니라 확인을 못하겠는데, 제 컴퓨터의 경우는 ko와 ja가 함께 넘어값니다) HTTP 규격을 확인하면 자세한 사항이 나와있지요. q=xx 을 이용한 우선순위 같은 설정이 있으므로, 주의하셔야 할 부분입니다.
제목 글쓴이 날짜
신림오피 ⦑출장안마사이트.COM⦒ 신림오피 신림OP 신림건마 신림오피 koykoyah 2025.02.20
강북오피 강북OP ⦑출장마사지안내.COM⦒ 강북휴게텔 강북오피 강북오피 koykoyah 2025.02.20
답십리오피 ⦑오피쓰.COM⦒ 답십리오피 답십리OP 답십리건마 답십리오피 koykoyah 2025.02.20
청주오피 ⦑출장안마사이트.COM⦒ 청주마사지 청주오피 청주오피 청주OP koykoyah 2025.02.20
역삼오피 역삼OP ⦑출장마사지안내.COM⦒ 역삼휴게텔 역삼오피 역삼오피 koykoyah 2025.02.20
동두천오피 ⦑오피쓰주소.COM⦒ 동두천OP 동두천오피 동두천출장샵 동두천오피 koykoyah 2025.02.20
판교오피 ⦑오피쓰.COM⦒ 판교오피 판교OP 판교건마 판교오피 koykoyah 2025.02.20
광주오피 ⦑오피쓰.COM⦒ 광주오피 광주출장마사지 광주오피 광주OP koykoyah 2025.02.20
강서오피 ⦑오피쓰.COM⦒ 강서OP 강서오피 강서출장샵 강서오피 koykoyah 2025.02.20
신촌오피 신촌출장안마 ⦑출장안마사이트.COM⦒ 신촌OP 신촌오피 신촌오피 koykoyah 2025.02.20
신촌오피 ⦑오피쓰.COM⦒ 신촌OP 신촌오피 신촌출장샵 신촌오피 koykoyah 2025.02.20
일산오피 ⦑오피쓰.COM⦒ 일산OP 일산오피 일산출장샵 일산오피 koykoyah 2025.02.20
일산오피 ⦑오피.CLUB⦒ 일산오피 일산출장마사지 일산오피 일산OP koykoyah 2025.02.20
동탄오피 ⦑출장마사지안내.COM⦒ 동탄오피 동탄출장마사지 동탄오피 동탄OP koykoyah 2025.02.20
부산오피 ⦑출장마사지안내.COM⦒ 부산OP 부산오피 부산출장샵 부산오피 koykoyah 2025.02.20
대전오피 ⦑오피쓰.COM⦒ 대전오피 대전출장마사지 대전오피 대전OP koykoyah 2025.02.20
평택오피 평택오피 ⦑오피.CLUB⦒ 평택OP 평택스파 평택오피 koykoyah 2025.02.20
군산오피 군산OP ⦑출장마사지안내.COM⦒ 군산휴게텔 군산오피 군산오피 koykoyah 2025.02.20
서초오피 ⦑오피사이트.NET⦒ 서초오피 서초OP 서초건마 서초오피 koykoyah 2025.02.20
대구오피 ⦑오피쓰.COM⦒ 대구마사지 대구오피 대구오피 대구OP koykoyah 2025.02.20