<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.strings.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'ru',
  ),
  'this' => 
  array (
    0 => 'function.utf8-encode.php',
    1 => 'utf8_encode',
    2 => 'Преобразовывает строку из кодировки ISO-8859-1 в кодировку UTF-8',
  ),
  'up' => 
  array (
    0 => 'ref.strings.php',
    1 => 'Функции для работы со строками',
  ),
  'prev' => 
  array (
    0 => 'function.utf8-decode.php',
    1 => 'utf8_decode',
  ),
  'next' => 
  array (
    0 => 'function.vfprintf.php',
    1 => 'vfprintf',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    'path' => 'reference/strings/functions/utf8-encode.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.utf8-encode" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">utf8_encode</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">utf8_encode</span> &mdash; <span class="dc-title">Преобразовывает строку из кодировки ISO-8859-1 в кодировку UTF-8</span></p>

 </div>

 <div id="function.utf8-encode-refsynopsisdiv">
  
<div class="warning"><strong class="warning">Внимание</strong>
 <p class="simpara">
  Начиная с PHP 8.2.0 функция <em>УСТАРЕЛА</em>.
  Полагаться на функцию настоятельно не рекомендуют.
 </p>
</div>
 </div>

 <div class="refsect1 description" id="refsect1-function.utf8-encode-description">
  <h3 class="title">Описание</h3>
  <div class="methodsynopsis dc-description">
   <span class="attribute"><a href="class.deprecated.php">#[\Deprecated]</a> </span><br>
   <span class="methodname"><strong>utf8_encode</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$string</code></span>): <span class="type"><a href="language.types.string.php" class="type string">string</a></span></div>

  <p class="para rdfs-comment">
   Функция преобразовывает строку <code class="parameter">string</code> из кодировки
   <code class="literal">ISO-8859-1</code> в кодировку <code class="literal">UTF-8</code>.
  </p>

  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <p class="para">
    Функция не пытается угадать текущую кодировку предоставленной строки, а предполагает,
    что строку закодировали в кодировке ISO-8859-1 (которую также знают как Latin 1) и преобразовывает строку в кодировку UTF-8.
    Поскольку каждая последовательность байтов — корректная строка в кодировке ISO-8859-1,
    это никогда не приводит к ошибке, но не приведёт к получению полезной строки,
    если предполагалась другая кодировка.
   </p>
   <p class="para">
    Часто веб-страницы, которые отметили как страницы в кодировке
    <code class="literal">ISO-8859-1</code>, кодируются похожей кодировкой —
    <code class="literal">Windows-1252</code>, и браузеры интерпретируют
    страницы в кодировке <code class="literal">ISO-8859-1</code> как страницы в кодировке <code class="literal">Windows-1252</code>.
    Однако кодировка <code class="literal">Windows-1252</code> вместо управляющих кодов
    кодировки <code class="literal">ISO-8859-1</code> содержит дополнительные печатные
    символы наподобие знака евро <code class="literal">€</code> и английских двойных кавычек
    <code class="literal">“</code> <code class="literal">”</code>. Функция не конвертирует такие символы
    кодировки <code class="literal">Windows-1252</code> корректно. Для конвертации в кодировку
    <code class="literal">Windows-1252</code> пользуются альтернативными функциями.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.utf8-encode-parameters">
  <h3 class="title">Список параметров</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">string</code></dt>
     <dd>
      <p class="para">
       Строка в кодировке ISO-8859-1.
      </p>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.utf8-encode-returnvalues">
  <h3 class="title">Возвращаемые значения</h3>
  <p class="para">
   Функция возвращает строку <code class="parameter">string</code>, которую преобразовала в кодировку в UTF-8.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.utf8-encode-changelog">
  <h3 class="title">Список изменений</h3>
  <p class="para">
   <table class="doctable informaltable">
    
     <thead>
      <tr>
       <th>Версия</th>
       <th>Описание</th>
      </tr>

     </thead>

     <tbody class="tbody">
      <tr>
       <td>8.2.0</td>
       <td>
        Функция устарела.
       </td>
      </tr>

      <tr>
       <td>7.2.0</td>
       <td>
        Функцию перенесли из модуля XML в ядро PHP.
        В предыдущих версиях функция была доступна только при установленном модуле XML.
       </td>
      </tr>

     </tbody>
    
   </table>

  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.utf8-encode-examples">
  <h3 class="title">Примеры</h3>
  <div class="example" id="example-1">
   <p><strong>Пример #1 Простой пример преобразования строки из кодировки ISO-8859-1 в кодировку UTF-8</strong></p>
   <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br /></span><span style="color: #FF8000">// Преобразование строки 'Zoë' из кодировки ISO 8859-1 в кодировку UTF-8<br /></span><span style="color: #0000BB">$iso8859_1_string </span><span style="color: #007700">= </span><span style="color: #DD0000">"\x5A\x6F\xEB"</span><span style="color: #007700">;<br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">utf8_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$iso8859_1_string</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
   </div>

   
<div class="example-contents"><p>
 Результат выполнения приведённого примера:
</p></div>

   <div class="example-contents screen">
<div class="annotation-interactive examplescode"><pre class="examplescode">5a6fc3ab</pre>
</div>
   </div>
  </div>
 </div>


 <div class="refsect1 notes" id="refsect1-function.utf8-encode-notes">
  <h3 class="title">Примечания</h3>
  <blockquote class="note"><p><strong class="note">Замечание</strong>: 
   <strong>Устаревание и альтернативы</strong><br />
   <p class="para">
    Начиная с PHP 8.2.0 функция <em>устарела</em> и её удалят в будущей версии.
    Разработчики языка рекомендуют заменить вызовы функции в коде альтернативами.
   </p>
   <p class="para">
    Аналогичную функциональность даёт функция <span class="function"><a href="function.mb-convert-encoding.php" class="function">mb_convert_encoding()</a></span>,
    которая поддерживает кодировку ISO-8859-1 и набор других кодировок символов.
    <div class="informalexample">
     <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$iso8859_1_string </span><span style="color: #007700">= </span><span style="color: #DD0000">"\xEB"</span><span style="color: #007700">; </span><span style="color: #FF8000">// Символ "ë" — буква «e» с диерезисом в кодировке UTF-8<br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">mb_convert_encoding</span><span style="color: #007700">(</span><span style="color: #0000BB">$iso8859_1_string</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #DD0000">'ISO-8859-1'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$iso8859_7_string </span><span style="color: #007700">= </span><span style="color: #DD0000">"\xEB"</span><span style="color: #007700">; </span><span style="color: #FF8000">// Та же строка в кодировке ISO-8859-7 представляет символ «λ» — греческую строчную лямбду<br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">mb_convert_encoding</span><span style="color: #007700">(</span><span style="color: #0000BB">$iso8859_7_string</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #DD0000">'ISO-8859-7'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$windows_1252_string </span><span style="color: #007700">= </span><span style="color: #DD0000">"\x80"</span><span style="color: #007700">; </span><span style="color: #FF8000">// Символ "€" — знак евро в кодировке Windows-1252, не содержится в кодировке ISO-8859-1<br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">mb_convert_encoding</span><span style="color: #007700">(</span><span style="color: #0000BB">$windows_1252_string</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #DD0000">'Windows-1252'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     
<p class="para">
 Результат выполнения приведённого примера:
</p>

     <div class="example-contents screen">
<div class="annotation-interactive notescode"><pre class="notescode">c3ab
cebb
e282ac</pre>
</div>
     </div>
    </div>
   </p>
   <p class="para">
    Другие способы, доступность которых зависит от загруженных модулей, —
    метод <span class="methodname"><a href="uconverter.transcode.php" class="methodname">UConverter::transcode()</a></span> и функция <span class="function"><a href="function.iconv.php" class="function">iconv()</a></span>.
   </p>
   <p class="para">
    Каждый следующий способ даёт один и тот же результат:
    <div class="informalexample">
     <div class="example-contents">
<div class="annotation-interactive phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /><br />$iso8859_1_string </span><span style="color: #007700">= </span><span style="color: #DD0000">"\x5A\x6F\xEB"</span><span style="color: #007700">; </span><span style="color: #FF8000">// 'Zoë' в кодировке ISO-8859-1<br /><br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">utf8_encode</span><span style="color: #007700">(</span><span style="color: #0000BB">$iso8859_1_string</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">mb_convert_encoding</span><span style="color: #007700">(</span><span style="color: #0000BB">$iso8859_1_string</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #DD0000">'ISO-8859-1'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">UConverter</span><span style="color: #007700">::</span><span style="color: #0000BB">transcode</span><span style="color: #007700">(</span><span style="color: #0000BB">$iso8859_1_string</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF8'</span><span style="color: #007700">, </span><span style="color: #DD0000">'ISO-8859-1'</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">$utf8_string </span><span style="color: #007700">= </span><span style="color: #0000BB">iconv</span><span style="color: #007700">(</span><span style="color: #DD0000">'ISO-8859-1'</span><span style="color: #007700">, </span><span style="color: #DD0000">'UTF-8'</span><span style="color: #007700">, </span><span style="color: #0000BB">$iso8859_1_string</span><span style="color: #007700">);<br />echo </span><span style="color: #0000BB">bin2hex</span><span style="color: #007700">(</span><span style="color: #0000BB">$utf8_string</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">;<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
     </div>

     
<p class="para">
 Результат выполнения приведённого примера:
</p>

     <div class="example-contents screen">
<div class="annotation-interactive notescode"><pre class="notescode">5a6fc3ab
5a6fc3ab
5a6fc3ab
5a6fc3ab</pre>
</div>
     </div>
    </div>
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.utf8-encode-seealso">
  <h3 class="title">Смотрите также</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.utf8-decode.php" class="function" rel="rdfs-seeAlso">utf8_decode()</a> - Преобразовывает строку из кодировки UTF-8 в кодировку ISO-8859-1, заменяя недопустимые или непредставимые символы</span></li>
    <li><span class="function"><a href="function.mb-convert-encoding.php" class="function" rel="rdfs-seeAlso">mb_convert_encoding()</a> - Преобразовывает строку из одной кодировки символов в другую</span></li>
    <li><span class="methodname"><a href="uconverter.transcode.php" class="methodname" rel="rdfs-seeAlso">UConverter::transcode()</a> - Преобразовывает строку из одной кодировки символов в другую</span></li>
    <li><span class="function"><a href="function.iconv.php" class="function" rel="rdfs-seeAlso">iconv()</a> - Преобразовывает строку из одной кодировки символов в другую</span></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>