西班牙语字符ó;在PHP中从正则表达式中断

西班牙语字符ó;在PHP中从正则表达式中断,php,regex,Php,Regex,我正在编写一个脚本,需要扫描文本块中的单词。部分内容包括将文本清理为纯文本,除了复合词的撇号外,没有添加标点符号,但每次我将其放在这一行时,一个特定西班牙语字符的编码似乎都会中断: $content = preg_replace("/[^a-zA-Z'’`ÀàÂâÆæÈèÉéÊêËëÎîÏïÔôŒœÙùÛûÜüŸÿüáÁéÉíÍñÑóÓúÚüÜ¿¡«»]/iu", " ", $content); 所讨论的字符是ó。在本例中,我正在测试单词liquidación,当我打印结果时,它返回为liqu

我正在编写一个脚本,需要扫描文本块中的单词。部分内容包括将文本清理为纯文本,除了复合词的撇号外,没有添加标点符号,但每次我将其放在这一行时,一个特定西班牙语字符的编码似乎都会中断:

$content = preg_replace("/[^a-zA-Z'’`ÀàÂâÆæÈèÉéÊêËëÎîÏïÔôŒœÙùÛûÜüŸÿüáÁéÉíÍñÑóÓúÚüÜ¿¡«»]/iu", " ", $content);
所讨论的字符是
ó
。在本例中,我正在测试单词liquidación,当我打印结果时,它返回为
liquidación


有没有办法解决这个问题,或者有更好的办法来清理文本块,而不使用英语、法语和西班牙语字符?

这与正则表达式无关,这是因为您在浏览器中显示结果时,没有添加
,以在html头部定义正确的编码。我已尝试添加此内容,但仍无法正确读取。我还尝试将其打印到一个文本文件中,然后用Notepad++将其打开,设置为UTF-8编码,字符显示为“xC3”,周围有一个黑框。这取决于php安装中使用的字符集和传入php脚本的字符集,以及用于指定regexp的字符集。