<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/book.xml.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ja',
  ),
  'this' => 
  array (
    0 => 'xml.encoding.php',
    1 => '文字エンコーディング',
    2 => '文字エンコーディング',
  ),
  'up' => 
  array (
    0 => 'book.xml.php',
    1 => 'XML パーサー',
  ),
  'prev' => 
  array (
    0 => 'xml.error-codes.php',
    1 => 'エラーコード',
  ),
  'next' => 
  array (
    0 => 'xml.examples.php',
    1 => '例',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ja',
    'path' => 'reference/xml/encoding.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="xml.encoding" class="article">
 <h1 class="title">文字エンコーディング</h1>

 <p class="para">
  PHPのXML拡張モジュールは、異なった<span class="glossterm">文字エンコーディング
  </span>を通じて<a href="http://www.unicode.org/" class="link external">&raquo;&nbsp;Unicode</a>
  文字セットをサポートします。<span class="glossterm">ソースエンコーディング
  </span>および<span class="glossterm">ターゲットエンコーディング
  </span>という2種類の文字エンコーディングがあります。
  PHP におけるドキュメントの内部表現は、常に
  <code class="literal">UTF-8</code>でエンコードされます。
 </p>
 <p class="para">
  ソースエンコーディングは、XMLドキュメントが
  <a href="function.xml-parse.php" class="link">構文解析</a>された際に行わ
  れます。<a href="function.xml-parser-create.php" class="link">XML パーサーの
  作成</a>を行う際に、ソースエンコードを指定することができます。
  (このエンコーディングは、その XML パーサーが存在する間、後で変更す
  ることはできません)サポートされるソースエンコーディングは、
  <code class="literal">ISO-8859-1</code>, <code class="literal">US-ASCII</code> ,
  <code class="literal">UTF-8</code> です。前の二つは、シングルバイトエンコー
  ディングです。これは、各文字がシングルバイトで表現されることを意
  味します。<code class="literal">UTF-8</code> は、1から4バイトの可変ビット
  数(最大21ビット)で構成された文字をエンコードすることが可能です。
  PHP で用いられるデフォルトのソースエンコーディングは、
  <code class="literal">ISO-8859-1</code>です。
 </p>
 <p class="para">
  ターゲットエンコーディングは、PHPがデータをXMLハンドラ関数に
  渡す時に行われます。あるXMLパーサーが作成された際、ターゲットエン
  コーディングは、ソースエンコーディングと同様に設定されます。
  しかし、これは、いつでも変更可能です。ターゲットエンコーディング
  は、タグ名と同様に文字データに作用し、命令を処理します。
 </p>
 <p class="para">
  XML パーサーがソースエンコーディングが表現できる範囲の外側の文字に
  出会った場合、エラーが返されます。
 </p>
 <p class="para">
  解釈するXMLドキュメントにおいてPHPが文字に出会った際に、選択した
  ターゲットエンコーディングで表現できない文字に出会った場合、問題
  の文字は &quot;降格&quot; されます。現在、このことはこのような文字が疑問符
  で置換されることを意味します。
 </p>
</div>
<?php manual_footer($setup); ?>