1
0
mirror of https://github.com/php/doc-tr.git synced 2026-03-24 23:32:06 +01:00
Files
archived-doc-tr/reference/strings/functions/utf8-decode.xml
2023-05-17 18:20:48 +03:00

268 lines
7.5 KiB
XML
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: b676d0b9c968ebb0b7429835f2f6bd364275eed1 Maintainer: nilgun Status: ready -->
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.utf8-decode">
<refnamediv>
<refname>utf8_decode</refname>
<refpurpose>Dizgenin kodlamasını ISO-8859-1'den' UTF-8'e dönüştürür</refpurpose>
</refnamediv>
<refsynopsisdiv>
&warn.deprecated.function-8-2-0;
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>string</type><methodname>utf8_decode</methodname>
<methodparam><type>string</type><parameter>dizge</parameter></methodparam>
</methodsynopsis>
<para>
Belirtilen <parameter>dizge</parameter>nin karakter kodlamasını
<literal>UTF-8</literal>'den <literal>ISO-8859-1</literal>'e dönüştürür.
Geçersiz <literal>UTF-8</literal> karakterler ve
<literal>ISO-8859-1</literal> kodlamasında mevcut olmayan
(<literal>U+00FF</literal> üstü) karakterlerin yerine <literal>?</literal>
imi konur.
</para>
<note>
<para>
<literal>ISO-8859-1</literal> karakter kodlamasını kullanıyor olarak
imlenmiş birçok sayfa aslında benzeri olan <literal>Windows-1252</literal>
kodlamasını kullanır ve tarayıcılar <literal>ISO-8859-1</literal> kodlu
sayfaları <literal>Windows-1252</literal> olarak yorumlar.
<literal>Windows-1252</literal>, belirli <literal>ISO-8859-1</literal>
kontrol karakterleri yerine Euro imi (<literal></literal>) ve kıvrımlı
tırnaklar (<literal></literal> <literal></literal>) gibi ek
yazdırılabilir karakterlere sahiptir. Bu işlev, bu tür
<literal>Windows-1252</literal> karakterlerini doğru şekilde
dönüştürmeyecektir. <literal>Windows-1252</literal> dönüştürme gerekiyorsa
farklı bir işlev kullanılmalıdır.
</para>
</note>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>dizge</parameter></term>
<listitem>
<para>
UTF-8 ile kodlanmış bir dizge.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Belirtilen <parameter>dizge</parameter>nin ISO-8859-1 gösterimini döndürür.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>- Temel örnekler</title>
<programlisting role="php">
<![CDATA[
<?php
// 'Zoë' dizgesini UTF-8'den ISO 8859-1'e çevirir
$utf8_string = "\x5A\x6F\xC3\xAB";
$iso8859_1_string = utf8_decode($utf8_string);
echo bin2hex($iso8859_1_string), "\n";
// Geçersiz UTF-8 dizilimler yerine '?' konur
$invalid_utf8_string = "\xC3";
$iso8859_1_string = utf8_decode($invalid_utf8_string);
var_dump($iso8859_1_string);
// ISO 8859-1'de bulunmayan '€' (avro) gibi
// karakterlerin yerine '?' imi konur.
$utf8_string = "\xE2\x82\xAC";
$iso8859_1_string = utf8_decode($utf8_string);
var_dump($iso8859_1_string);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
5a6feb
string(1) "?"
string(1) "?"
]]>
</screen>
</example>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
Bu işlevin kullanımı artık önerilmiyor.
</entry>
</row>
<row>
<entry>7.2.0</entry>
<entry>
Bu işlev XML eklentisinden PHP çekirdeğine taşınmıştır. Önceki
sürümlerde sadece XML eklentisi kurulduğunda kullanılabiliyordu.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="notes">
&reftitle.notes;
<note>
<title>Kullanımdan kaldırma ve seçenekler</title>
<para>
Bu işlevin PHP 8.2.0 ve sonrasında <emphasis>kullanımı önerilmiyor</emphasis>
ve gelecek sürüede kullanımdan kaldırılacaktır. Mevcut kullanımlar gözden
geçirilmeli ve uygun seçeneklerle değiştirilmelidir.
</para>
<para>
Benzer işlevsellik, ISO-8859-1 ve diğer birçok karakter kodlamasını
destekleyen <function>mb_convert_encoding</function> ile elde edilebilir.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$utf8_string = "\xC3\xAB"; // UTF-8 'ë' (iki noktalı e)
$iso8859_1_string = mb_convert_encoding($utf8_string, 'ISO-8859-1', 'UTF-8');
echo bin2hex($iso8859_1_string), "\n";
$utf8_string = "\xCE\xBB"; // UTF-8 'λ' (Yunanca küçük harfli lambda)
$iso8859_7_string = mb_convert_encoding($utf8_string, 'ISO-8859-7', 'UTF-8');
echo bin2hex($iso8859_7_string), "\n";
$utf8_string = "\xE2\x82\xAC"; // UTF-8 '€' (Euro imi) (ISO-8859-1'de yok)
$windows_1252_string = mb_convert_encoding($utf8_string, 'Windows-1252', 'UTF-8');
echo bin2hex($windows_1252_string), "\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
eb
eb
80
]]>
</screen>
</informalexample>
</para>
<para>
Kurulu eklentilere bağlı olarak mevcut olabilecek diğer seçenekler şunlardır:
<methodname>UConverter::transcode</methodname> ve <function>iconv</function>.
</para>
<para>
Aşağıdakilerin tümü aynı sonucu verir:
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$utf8_string = "\x5A\x6F\xC3\xAB"; // UTF-8 'Zoë'
$iso8859_1_string = utf8_decode($utf8_string);
echo bin2hex($iso8859_1_string), "\n";
$iso8859_1_string = mb_convert_encoding($utf8_string, 'ISO-8859-1', 'UTF-8');
echo bin2hex($iso8859_1_string), "\n";
$iso8859_1_string = iconv('UTF-8', 'ISO-8859-1', $utf8_string);
echo bin2hex($iso8859_1_string), "\n";
$iso8859_1_string = UConverter::transcode($utf8_string, 'ISO-8859-1', 'UTF8');
echo bin2hex($iso8859_1_string), "\n";
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
5a6feb
5a6feb
5a6feb
5a6feb
]]>
</screen>
</informalexample>
<methodname>UConverter::transcode</methodname> yöntemine
<literal>'to_subst'</literal> seçeneği olarak <literal>'?'</literal>
belirtilmesi, geçersiz olan veya ISO 8859-1 ile gösterilemeyen diziler
için <function>utf8_decode</function> ile aynı sonucu verir.
<informalexample>
<programlisting role="php">
<![CDATA[
<?php
$utf8_string = "\xE2\x82\xAC"; // € (Euro imi) ISO 8859-1'de yoktur
$iso8859_1_string = UConverter::transcode(
$utf8_string, 'ISO-8859-1', 'UTF-8', ['to_subst' => '?']
);
var_dump($iso8859_1_string);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
sring(1) "?"
]]>
</screen>
</informalexample>
</para>
</note>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><function>utf8_encode</function></member>
<member><function>mb_convert_encoding</function></member>
<member><methodname>UConverter::transcode</methodname></member>
<member><function>iconv</function></member>
</simplelist>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->