PHP regex bond UTF-8 não funciona

1

Eu tenho um CentOS 6 com as mais recentes atualizações executando uma pilha LAMP.

Um usuário está reclamando que seu código não funciona e ele está tentando usar preg_match com caracteres unicode.

Este é o código que não funciona:

$regex = '/\bøl\b/iu';

preg_match($regex, "han drikker øl for sjov", $matches);
print_r($matches);

O mais estranho é que esses códigos exatos funcionam perfeitamente em outros servidores e eu não consigo resolver isso. Eu tentei várias coisas assim:

  • O PCRE está instalado e tem suporte a UTF-8
  • Assegure-se de que o arquivo seja de fato UTF-8
  • Tentei definir mb_regex_encoding
  • Eu li esta pergunta também, mas funciona em outros servidores sem isso e assim como no meu exemplo
  • mbstring () está instalado
  • A versão do PHP é 5.3 e é o pacote fornecido pelo fornecedor do yum

Além disso, testei-o apenas em uma instalação construída manualmente a partir do código-fonte, e aí funciona como um encanto - mas prefiro não construir os pacotes manualmente.

Alguma sugestão?

    
por Rolf 19.02.2013 / 15:28

0 respostas