aboutsummaryrefslogtreecommitdiff
path: root/files/ko/international_characters_in_xul_javascript/index.html
blob: 9a4b6c10e28e21e38f1035f8283688359e18a21b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
---
title: International characters in XUL JavaScript
slug: International_characters_in_XUL_JavaScript
tags:
  - Internationalization
  - JavaScript
translation_of: Archive/Mozilla/XUL/International_characters_in_XUL_JavaScript
---
<h3 id=".EA.B0.9C.EC.9A.94" name=".EA.B0.9C.EC.9A.94">개요</h3>
<p><a href="ko/Firefox_1.5">Firefox 1.5</a>와 다른 어플리케이션에서 사용되는 <a href="ko/Gecko">Gecko</a> 1.8에서는 <a href="ko/XUL">XUL</a> 파일에서 로드되는 <a href="ko/JavaScript">JavaScript</a> 파일에 non-ASCII 캐릭터를 포함시킬 수 있습니다.</p>
<p>이는 세계에서 사용하는 모든 언어의 모든 문자를 스크립트 파일에서 사용할 수 있다는 의미입니다. 예를 들어 스크립트 파일에 이런 내용을 포함시킬 수 있습니다.</p>
<pre class="eval">var text = "Ein schönes Beispiel eines mehrsprachigen Textes: 日本語";
</pre>
<p>일본어와 독일어 문자를 섞어 쓴 것입니다.</p>
<p>이전 버전에서는 XUL에서 로드되는 JS 파일은 로컬에서나 원격에서나 항상 <a class="external" href="http://en.wikipedia.org/wiki/ISO_8859-1#Code_table">ISO-8859-1</a> (Latin-1) 인코딩으로 해석되었습니다. <a href="#.EB.B2.84.EC.A0.84_.EA.B0.84_.ED.98.B8.ED.99.98.EC.84.B1">아래쪽에서 논의할</a> 유니코드 이스케이프는 항상 동작했습니다.</p>
<h3 id="Gecko_1.8_.EC.9D.B4.ED.9B.84_.EB.B2.84.EC.A0.84.EC.97.90.EC.84.9C_.EB.AC.B8.EC.9E.90_.EC.9D.B8.EC.BD.94.EB.94.A9.EC.9D.B4_.EA.B2.B0.EC.A0.95.EB.90.98.EB.8A.94_.EB.B0.A9.EB.B2.95" name="Gecko_1.8_.EC.9D.B4.ED.9B.84_.EB.B2.84.EC.A0.84.EC.97.90.EC.84.9C_.EB.AC.B8.EC.9E.90_.EC.9D.B8.EC.BD.94.EB.94.A9.EC.9D.B4_.EA.B2.B0.EC.A0.95.EB.90.98.EB.8A.94_.EB.B0.A9.EB.B2.95">Gecko 1.8 이후 버전에서 문자 인코딩이 결정되는 방법</h3>
<p>JavaScript 파일이 <code><a class="external" rel="freelink">chrome://</a></code> URL에서 로드될 때, 스크립트의 인코딩을 결정하는데 <a href="ko/Byte_Order_Mark">Byte Order Mark</a> (<a href="https://ko.wikipedia.org/wiki/Byte_Order_Mark" title="BOM">BOM</a>)이 사용됩니다. 이외의 경우에는 XUL 파일(<code>&lt;?xml?&gt;</code> 태그의 <code>encoding</code> 속성으로 지정 가능)과 같은 문자 인코딩을 사용합니다. XUL 파일의 기본 인코딩은 UTF-8이며, UTF-8은 사실상 세계의 모든 문자를 표현할 수 있습니다.</p>
<p>스크립트 파일이 HTTP를 통해서 로드된다면 HTTP 헤더에 <code>Content-Type</code> 헤더의 일부로 캐릭터 인코딩이 포함될 수 있습니다. 예를 들면 이런 형식입니다.</p>
<pre class="eval">Content-Type: application/x-javascript; charset=UTF-8
</pre>
<p>문자 집합(charset)이 지정되지 않으면 앞의 경우와 동일하게 캐릭터셋이 결정됩니다.</p>
<h3 id=".EB.B2.84.EC.A0.84_.EA.B0.84_.ED.98.B8.ED.99.98.EC.84.B1" name=".EB.B2.84.EC.A0.84_.EA.B0.84_.ED.98.B8.ED.99.98.EC.84.B1">버전 간 호환성</h3>
<p>Gecko 1.8과 이전 버전에서 동일한 코드를 사용하려고 한다면 ASCII 문자만을 사용해야 합니다. 그러나 <a href="ko/Core_JavaScript_1.5_Guide/Unicode#.EC.9C.A0.EB.8B.88.EC.BD.94.EB.93.9C_.EC.9D.B4.EC.8A.A4.EC.BC.80.EC.9D.B4.ED.94.84_.EC.8B.9C.ED.80.80.EC.8A.A4">유니코드 이스케이프</a>를 사용할 수는 있습니다. – 앞에서 나온 예제를 유니코드 이스케이프를 사용해서 표현하면 다음과 같습니다.</p>
<pre class="eval">var text = "Ein sch\u00F6nes Beispiel eines mehrsprachigen Textes: \u65E5\u672C\u8A9E";
</pre>
<p>이 방법 대신 <a href="ko/NsIStringBundle">nsIStringBundle</a>이나 <a href="ko/XUL_Tutorial/Property_Files">XUL &lt;stringbundle&gt; 요소</a>를 통해 속성 파일(property files)을 사용할 수도 있습니다. 그렇게 하면 XUL을 지역화할 수 있습니다. 그러나 권한을 얻을 수 있는 코드 즉, <a href="ko/Extensions">확장 기능</a>의 코드에서만 가능하고, 웹으로 로드되는 XUL 파일에서는 사용할 수 없는 방법입니다.</p>
<p></p>