mysql编码的奇怪错误

时间:2011-05-02 13:53:11

标签: php mysql encoding utf-8

我有一个osTube网站。所有文件都以UTF-8保存。使用utf8 utf8_unicode_ci创建的所有表,以及所有字段都具有相同的字符集。

添加连接数据库功能:

mysql_set_charset('utf8',$this -> connection);

该网站的内容是俄语和乌克兰语。当我打开它时,我没有任何问题。当我尝试使用无壳正则表达式时问题就开始了 - 它不起作用。

我发现,Zend Debugger显示变量内容不可读,但调试编码是UTF-8。如果我删除行:

mysql_set_charset('utf8',$this -> connection);

在网站上我看到不可读的文字,但如果我在浏览器中设置Windows-1251编码 - 文本开始可读。 Zend Debugger显示正常文本,regexp开始工作。但在浏览器中我只看到'?????'。

这是什么?

1 个答案:

答案 0 :(得分:0)

您不清楚正在使用正则表达式的位置?在PHP中,您可以使用u修饰符为preg扩展启用UTF-8支持。

请参阅:http://www.php.net/manual/en/reference.pcre.pattern.modifiers.php