| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- <sect1 id="zend.search.lucene.charset">
- <title>Karakterset.</title>
- <sect2 id="zend.search.lucene.charset.description">
- <title>Support voor UTF-8 en single-byte karaktersets.</title>
- <para>
- Zend_Search_Lucene is ontworpen om met de UTF-8 karakterset te werken. Indexbestanden
- slaan unicode data op in Java's "modified UTF-8 encoding". Zend_Search_Lucene core
- biedt volledige support voor deze vorm op één uitzondering na.
- <footnote>
- <para>
- Zend_Search_Lucene biedt alleen support voor Basic
- Multilingual Plane (BMP) karakters (van 0x0000 tot 0xFFFF)
- en biedt geen support voor bijkomende karakters (karakters
- waarvan de codes groter zijn dan 0xFFFF)
- </para>
- <para>
- Java 2 stelt deze karakters voor als een paar van char (16-bit)
- waarden, het eerste paar van de hogere reeks (0xD800_0xDBFF), het
- tweede van de lagere reeks (0xDC00-0XDFFF). Daarna worden ze
- omgeschreven op 6 bytes zoals gewone UTF-8 karakters.
- De standaard UTF-8 voorstelling gebruikt vier bytes voor bijkomende
- karakters.
- </para>
- </footnote>
- </para>
- <para>
- Niettemin, tekst analysator, query parser tekst analysator en query parser
- gebruiken ctype_alpha() om tekst en queries van tokens te voorzien.
- ctype_alpha() biedt geen support voor UTF-8 en zal moeten worden vervangen
- in de nabije toekomst.
- </para>
- <para>
- We raden je sterk aan jouw data in ASCII om te schrijven
- <footnote>
- <para>
- Indien de data in non-ascci karakters of UTF-8 is geschreven.
- </para>
- </footnote>
- (zowel voor het opslaan als voor het queryen van de brondocumenten):
- </para>
- <programlisting role="php"><![CDATA[<?php
- $doc = new Zend_Search_Lucene_Document();
- ...
- $docText = iconv('ISO-8859-1', 'ASCII//TRANSLIT', $docText);
- $doc->addField(Zend_Search_Lucene_Field::UnStored('contents', $docText));
- ...
- $query = iconv('', 'ASCII//TRANSLIT', $query);
- $hits = $index->find($query);
- ?>]]></programlisting>
- </sect2>
- </sect1>
- <!--
- vim:se ts=4 sw=4 et:
- -->
|