2013-02-28 24 views
5

Haben Sie ein Problem mit Preg Split und UTF. Dies ist Code:PHP preg_split utf8 Zeichen

$original['words'] = preg_split("/[\s]+/", $original['text']); 
print_r($original); 

Dies ist die Antwort:

Array 
(

    [text] => Šios baterijos kaista 
    [words] => Array 
     (
      [0] => � 
      [1] => ios 
      [2] => baterijos 
      [3] => kaista 

Dieser Code in CakePHP Rahmen runing. Geben Sie an, dass [Text] vor den Wörtern korrekt angezeigt wird und im Split-Fortschritt fehlerhaft ist. Übrigens habe ich versucht, diese zu verwenden:

mb_internal_encoding('UTF-8'); 
mb_regex_encoding('UTF-8'); 
ini_set('default_charset','utf-8'); 

Keine geholfen. Vielen Dank.

+0

haben Sie versucht, http://php.net/manual/en/function.mb-split.php? –

Antwort

8

Sie benötigen utf-8-Modus für preg_split durch Zugabe der umodifier zu dem regulären Ausdruck aktivieren:

preg_split("/[\s]+/u", $original['text']); 

Die Konfigurationsrichtlinien Sie als Teil versuchen, erwähnen eine Lösung zu finden, hier keine Rolle spielen.