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');
没有帮助。谢谢。
答案 0 :(得分:11)
您需要为preg_split
启用utf-8模式,方法是将u
modifier添加到正则表达式中:
preg_split("/[\s]+/u", $original['text']);
您在尝试查找解决方案时提到的配置指令在此处不起作用。
答案 1 :(得分:0)