drupal调用外部数据库出现的问题
我现在使用的是drupal数据库,我想调用别的论坛的数据到drupal首页显示,别入我调用我discuz论坛数据库的内容,调用发帖前十名的用户显示在drupal首页,其实也就是一个简单的php调用,但是调用显示后在drupal首页显示的是乱码,但是如果把这段代码写在一个单独的页面调用到正常,我discuz的数据库也是utf8的,但是不是drupal数据库的utf8_general_ci编码,drupal的数据库编码是utf8_general_ci的,而我调用的数据库编码是utf8_unicode_ci的,drupal的web显示页面是utf8的啊,我如果吧这段代码写道单独的文件里,调用的页面是gb2312的,我就很奇怪这个问题,忘高手解释,谢谢!
这就是调用的php代码!
<?php
mysql_connect('localhost','root','123456');
mysql_select_db('discuz');
$sql = "select * from names limit 0,10";
$result = mysql_query($sql);
while($data = mysql_fetch_array($result))
{
$name = $data['name'];
echo $name."";
}
?>
Re: drupal调用外部数据库出现的问题
现在我试验了,把两个数据库都弄成统一编码的数据库 ,drupal调用另一个数据库数据的时候还是出现乱码!奇怪了!有高手能解释一下吗?谢谢!~
Re: drupal调用外部数据库出现的问题
<?php
mysql_connect('localhost','root','123456');
mysql_select_db('discuz');
mysql_query("SET NAMES utf8");
$sql = "select * from names limit 0,10";
$result = mysql_query($sql);
while($data = mysql_fetch_array($result))
{
$name = $data['name'];
echo $name."";
}
?>
Re:
<?php
$sql = "select * from drupal limit 0,10";
$result = mysql_query($sql);
while($data = mysql_fetch_array($result))
{
$name = $data['name'];
echo mb_detect_encoding($name);
echo $name."";
$str = mb_convert_encoding($name, "GBK","UTF-8");
echo $str."";
echo mb_detect_encoding($str);
}
这个段代码我有加了查看代码输出编码的语句
echo mb_detect_encoding($name);这一段显示编码输出的是utf8,但是是乱码
我又用$str = mb_convert_encoding($name, "GBK","UTF-8");
给转换成GBK同样还是乱码!
但是用discuz论坛的js调用生成的代码
我如果在后面加上charset="gbk"的话,则可以在drupal首页输出,并显示正常!
有哪位高手能告诉我问题所在,谢谢!@
»