Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有php pear DB包的UTF8不工作_Php_Mysql_Utf 8_Pear - Fatal编程技术网

带有php pear DB包的UTF8不工作

带有php pear DB包的UTF8不工作,php,mysql,utf-8,pear,Php,Mysql,Utf 8,Pear,我正在将一些俄语字符存储到我的数据库中。数据正在正确保存。为此,我将字段的排序规则从ascii更改为utf8\u general\u ci。因此,数据保存正确 我使用php数据对象来获取数据。但是字符显示为。我尝试了设置名称utf8,但没有成功。如果使用普通mysql查询,则返回正确的字符。有没有其他方法可以让它在Pear对象中工作 这是我正在使用的代码 $obj = DB_DataObject::Factory('table'); $obj->exec("set name

我正在将一些俄语字符存储到我的数据库中。数据正在正确保存。为此,我将字段的排序规则从ascii更改为utf8\u general\u ci。因此,数据保存正确

我使用php数据对象来获取数据。但是字符显示为。我尝试了
设置名称utf8
,但没有成功。如果使用普通mysql查询,则返回正确的字符。有没有其他方法可以让它在Pear对象中工作

这是我正在使用的代码

    $obj = DB_DataObject::Factory('table');
    $obj->exec("set names utf8");       
    $obj->query("(SELECT * FROM table");

除了正确查询数据外,还需要在HTML中正确设置输出编码

使用以下任一选项:

  • 内容类型http标头中的字符集属性
  • 元字符集标签
  • xml编码属性
有关更多信息,请参阅


在我们的
/etc/mysql/my.cnf
中,我们还有:

collation_server=utf8_general_ci
character_set_server=utf8

skip-character-set-client-handshake
character-set-client = utf8

init_connect    = 'SET collation_connection = utf8_general_ci'
init_connect    = 'SET NAMES utf8'

可能是
字符集客户端
设置有帮助。

我需要添加它的代码吗?因为我已经在html中添加了;这就是为什么正常的mysql查询会显示俄文字符。请尝试您的解决方案。之后,我在屏幕“u0420u0430u0437u043cu0435u0440”上看到一些其他字符。是否有其他设置?谢谢还有别的东西坏了。尝试一个简单的
var\u转储($row->columnname);模具()你得到了什么?伟人实际上返回了正确的格式。但在获取数据后,它将转换为json格式。在那里,事情出了问题