5

preg split と utf に問題があります。これはコードです:

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

これが答えです:

Array
(

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

このコードは CakePHP フレームワークで実行されています。[テキスト] が単語の前に正しく表示され、分割の進行状況で混乱していることに注意してください。ちなみに、以下のものを使ってみました。

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

誰も助けませんでした。ありがとうございました。

4

2 に答える 2

18

修飾子を正規表現にpreg_split追加して、utf-8 モードを有効にする必要があります。u

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

解決策を見つける試みの一環として言及した構成ディレクティブは、ここでは何の役割も果たしません。

于 2013-02-28T14:17:00.063 に答える