网站www.lady880.com是PHP代码的,新建个文件夹news上传wordpress.现在想在主页的右下角调用出WP发表的最新文章标题列表。代码为:<?php
 define('WP_USE_THEMES', false);
 require('dress/wp-blog-header.php');
 query_posts('showposts=20');
 ?> <?php while (have_posts()): the_post(); ?>
 <li><a href="<?php the_permalink(); ?>" target="_blank"><?php echo mb_strimwidth(strip_tags(apply_filters('the_title', $post->post_title)), 0, 50," "); ?></a></li>
 <?php endwhile; ?>
 
主站编码是GBK,wordpress编码为UTF-8,所以调用出来是乱码。编码应该如何转变?

解决方案 »

  1.   

    没留意是文件还是字符串?文件就header("Content-Type:text/html; charset=utf-8");吧.
      

  2.   

    用mb_convert_encoding更好!例子
    <?php      
    echo mb_convert_encoding($str, "GBK", "UTF-8"); //$str就是你要转的字符串  
    ?>  
      

  3.   

    我建议你去重新下载个gbk版的wordpress(如果有的话),否则最彻底的办法是把wordpress的所有源代码文件重新保存为ansi。然后把wordpress建立的数据库表和数据都转成utf8的。然后在wordpress的配置文件里把header的charset改为gbk。不过这么做估计够你喝一壶的。
    其实你主站gbk,wordpress是utf-8如果不互相引用的话,是不会出现问题的。问题就在你的引用这里。你的想法是可行的,使用iconv函数将要引用的wordpress页面源代码转换成utf-8的,但可能会遇到一些问题:丢失一些字符,utf-8的字符范围比gbk大,你转换过去之后可能会丢失一些字符。但是用gbk转utf-8没问题。
      

  4.   

    楼主说得不够清楚....不过应该是只要set names gbk 即可,
      

  5.   

    用记事本打开要转的编码,然后另存为一下,在存的时候,先择编码为utf-8编码就行