mirror of
https://github.com/php/doc-tr.git
synced 2026-03-24 07:12:18 +01:00
253 lines
7.7 KiB
XML
253 lines
7.7 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
||
<!-- EN-Revision: 2c17cef6e71c3d85011319cde128cc4edf89a053 Maintainer: nilgun Status: ready -->
|
||
<refentry xml:id="function.mb-detect-encoding" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||
<refnamediv>
|
||
<refname>mb_detect_encoding</refname>
|
||
<refpurpose>Karakter kodlamasını algılar</refpurpose>
|
||
</refnamediv>
|
||
|
||
<refsect1 role="description">
|
||
&reftitle.description;
|
||
<methodsynopsis>
|
||
<type class="union"><type>string</type><type>false</type></type><methodname>mb_detect_encoding</methodname>
|
||
<methodparam><type>string</type><parameter>dizge</parameter></methodparam>
|
||
<methodparam choice="opt"><type class="union"><type>array</type><type>string</type><type>null</type></type><parameter>kodlamalar</parameter><initializer>&null;</initializer></methodparam>
|
||
<methodparam choice="opt"><type>bool</type><parameter>katı</parameter><initializer>&false;</initializer></methodparam>
|
||
</methodsynopsis>
|
||
<para>
|
||
Sıralı adaylar listesinden <type>string</type> türündeki
|
||
<parameter>dizge</parameter> için en uygun karakter kodlamasını saptar.
|
||
</para>
|
||
<para>
|
||
Amaçlanan karakter kodlamasının otomatik tespiti hiçbir zaman tamamen
|
||
güvenilir olamaz; bazı ek bilgiler olmadan, şifrelenmiş bir dizenin
|
||
şifresini anahtarsız çözmeye benzer. Verilerle birlikte depolanan veya
|
||
iletilen karakter kodlamasının bir "Content-Type" HTTP başlığı gibi bir
|
||
göstergesinin kullanılması her zaman tercih edilir.
|
||
</para>
|
||
<para>
|
||
Bu işlev, tüm bayt dizilerinin geçerli bir dizge oluşturmadığı çok baytlı
|
||
kodlamalarda çok yararlıdır. Belirtilen dizge böyle bir dizi içeriyorsa, bu
|
||
kodlama reddedilecek ve sonraki kodlamaya bakılacaktır.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="parameters">
|
||
&reftitle.parameters;
|
||
<para>
|
||
<variablelist>
|
||
<varlistentry>
|
||
<term><parameter>dizge</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
Kodlaması algılanacak dizge.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>kodlamalar</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
<parameter>kodlamalar</parameter> ile denenecek karakter
|
||
kodlamalarının listesi belirtilir. Algı sırası bir dizeler dizisi veya
|
||
virgül ayraçlı bir liste olarak belirtilebilir.
|
||
</para>
|
||
<para>
|
||
<parameter>kodlamalar</parameter> atlanırsa veya &null; ise,
|
||
<link linkend="ini.mbstring.detect-order">dahili algılama sırası</link>
|
||
veya <function>mb_detect_order</function> işlevi kullanılır.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
<varlistentry>
|
||
<term><parameter>katı</parameter></term>
|
||
<listitem>
|
||
<para>
|
||
<parameter>dizge</parameter> <parameter>kodlamalar</parameter> listesi
|
||
için geçersiz olduğunda izlenecek yolu belirler.
|
||
<parameter>katı</parameter> &false; ise en yakın eşleşen kodlama döner,
|
||
&true; belirtilmişse &false; döner.
|
||
</para>
|
||
<para>
|
||
<parameter>katı</parameter> için öntanımlı değer, <link
|
||
linkend="ini.mbstring.strict-detection">mbstring.strict_detection</link>
|
||
yapılandırma seçeneği ile atanabilir.
|
||
</para>
|
||
</listitem>
|
||
</varlistentry>
|
||
</variablelist>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="returnvalues">
|
||
&reftitle.returnvalues;
|
||
<para>
|
||
<parameter>dizge</parameter> <parameter>kodlamalar</parameter> listesi
|
||
için geçersiz ise &false;, yoksa algılanan karakter kodlaması döner.
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="changelog">
|
||
&reftitle.changelog;
|
||
<informaltable>
|
||
<tgroup cols="2">
|
||
<thead>
|
||
<row>
|
||
<entry>&Version;</entry>
|
||
<entry>&Description;</entry>
|
||
</row>
|
||
</thead>
|
||
<tbody>
|
||
<row>
|
||
<entry>8.2.0</entry>
|
||
<entry>
|
||
<function>mb_convert_encoding</function> tarafından artık döndürülmeyen
|
||
tek baytlık kodlamalar:
|
||
<literal>"Base64"</literal>, <literal>"QPrint"</literal>,
|
||
<literal>"UUencode"</literal>, <literal>"HTML entities"</literal>,
|
||
<literal>"7 bit"</literal> ve <literal>"8 bit"</literal>.
|
||
</entry>
|
||
</row>
|
||
</tbody>
|
||
</tgroup>
|
||
</informaltable>
|
||
</refsect1>
|
||
|
||
<refsect1 role="examples">
|
||
&reftitle.examples;
|
||
<para>
|
||
<example>
|
||
<title>- <function>mb_detect_encoding</function> örneği</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
// Karakter kodlamasını dahili algı sırasını kullanarak algılatalım
|
||
echo mb_detect_encoding($str);
|
||
|
||
// "auto" değeri mbstring.language ini değerine göre genişletilir
|
||
echo mb_detect_encoding($str, "auto");
|
||
|
||
// Kodlamaları virgül ayraçlı liste olarak belirtelim
|
||
echo mb_detect_encoding($str, "JIS, eucjp-win, sjis-win");
|
||
|
||
// Kodlamaları dizi olarak belirtelim
|
||
$encodings = [
|
||
"ASCII",
|
||
"JIS",
|
||
"EUC-JP"
|
||
];
|
||
echo mb_detect_encoding($str, $encodings);
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>- <parameter>katı</parameter> bağımsız değişkeninin etkisi</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
// 'áéóú' ISO-8859-1'de kodlandı
|
||
$str = "\xE1\xE9\xF3\xFA";
|
||
|
||
// Dizge ASCII veya UTF-8 için geçersiz, fakat UTF-8 daha iyi eşleşiyor
|
||
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8'], false));
|
||
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8'], true));
|
||
|
||
// Geçersiz kodlama bulunursa, katı bağımsız değişkeni sonucu değiştirmez
|
||
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8', 'ISO-8859-1'], false));
|
||
var_dump(mb_detect_encoding($str, ['ASCII', 'UTF-8', 'ISO-8859-1'], true));
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
string(5) "UTF-8"
|
||
bool(false)
|
||
string(10) "ISO-8859-1"
|
||
string(10) "ISO-8859-1"
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
</para>
|
||
<para>
|
||
Bazı durumlarda aynı bayt sırası çok sayıda karakter kodlamasında geçerli
|
||
bir dizge verebilir ve hangi yorumun amaçlandığını anlamak mümkündür.
|
||
Örneğin, "\xC4\xA2" bayt sırasını ele alalım:
|
||
</para>
|
||
<para>
|
||
<simplelist>
|
||
<member>
|
||
"Ä¢" (U+00C4 LATIN CAPITAL LETTER A WITH DIAERESIS ardından U+00A2 CENT SIGN)
|
||
ISO-8859-1, ISO-8859-15 veya Windows-1252'den herhangi birinde geçerli.
|
||
</member>
|
||
<member>
|
||
"ФЂ" (U+0424 CYRILLIC CAPITAL LETTER EF ardından U+0402 CYRILLIC CAPITAL LETTER
|
||
DJE) ISO-8859-5 için geçerli.
|
||
</member>
|
||
<member>
|
||
"Ģ" (U+0122 LATIN CAPITAL LETTER G WITH CEDILLA) UTF-8 için geçerli.
|
||
</member>
|
||
</simplelist>
|
||
</para>
|
||
<para>
|
||
<example>
|
||
<title>- Çok sayıda kodlama eşleştiğinde sıralamanın etkisi</title>
|
||
<programlisting role="php">
|
||
<![CDATA[
|
||
<?php
|
||
$str = "\xC4\xA2";
|
||
|
||
// Dizge üç kodlamada da geçerli, dolayısıyla listenin başındaki döner
|
||
var_dump(mb_detect_encoding($str, ['UTF-8', 'ISO-8859-1', 'ISO-8859-5']));
|
||
var_dump(mb_detect_encoding($str, ['ISO-8859-1', 'ISO-8859-5', 'UTF-8']));
|
||
var_dump(mb_detect_encoding($str, ['ISO-8859-5', 'UTF-8', 'ISO-8859-1']));
|
||
?>
|
||
]]>
|
||
</programlisting>
|
||
&example.outputs;
|
||
<screen>
|
||
<![CDATA[
|
||
string(5) "UTF-8"
|
||
string(10) "ISO-8859-1"
|
||
string(10) "ISO-8859-5"
|
||
]]>
|
||
</screen>
|
||
</example>
|
||
</para>
|
||
</refsect1>
|
||
|
||
<refsect1 role="seealso">
|
||
&reftitle.seealso;
|
||
<para>
|
||
<simplelist>
|
||
<member><function>mb_detect_order</function></member>
|
||
</simplelist>
|
||
</para>
|
||
</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
|
||
-->
|