第一种方法:
用PHP从数据库得到该字段值
$answer = $row['answer'];
<textarea id="id_c_f15" name="c_f15" cols="84" rows="38"><?php echo $answer ; ?></textarea>显示正确(且能显示TM,以及一些格式):
VIVIMIND™ :
 Protège la structure cérébrale liée à la mémoire et à l’apprentissage 
 Préserve la mémoire第二种方法:用AJAX发送请求到PHP页面,PHP从数据库中得到值$qid=$_GET['qid'];  // AJAX 发送的url// 从数据库中得到值
$answer = $row['answer'];
echo utf8_encode($answer);
die();
<textarea id="id_c_f15" name="c_f15" cols="84" rows="38</textarea>显示结果如下:
VIVIMIND™ :
&#61607; Protège la structure cérébrale liée à la mémoire et à l’apprentissage 不能正确显示 TM、格式, 最严重的是不能正确显示 ’=====================头疼....

解决方案 »

  1.   

    首先要确保页面都是utf-8格式
      

  2.   

    ajax的返回也一样要在header里设置charset为utf-8。
      

  3.   

    第一种是直接输出的.
    第二种utf8_encode函数, 手册上是这样的说的 Encodes an ISO-8859-1 string to UTF-8.所以出现乱码是很有可能的.建议用iconv来转换吧.
      

  4.   

    我觉得没有必要utf8_encode什么的!
    首先看你的数据库连接使用的编码,其次是网页的编码,最后是ajax请求时
    有无设置相应的请求编码头值!!!
      

  5.   

    如果直接读数据库并输出时可以得到正确的结果,则用ajax时不需要做编码转换
      

  6.   

    只要所有网页都是以UTF-8写的,一定可以的,最好在查一下,包括引用页
    楼主也在法国啊  是在做什么类的网站呢?我在巴黎,可以认识一下啊
      

  7.   

    问题解决了。
    犯了一个低级错误,呵呵....不能显示单引号,原因可能是 我用中文word软件打开客户给我的法文word文档,单引号可能是中文编码,我需要手动修改。
    在word中,我看不出这个错误,即使我重新输入单引号,然后拷贝通过PHP form存到数据库,也还是一样有问题。
    所以我在PHP form中修改这个单引号,或者数据库中修改单引号,这样显示就没有问题了。
    非常感谢各位的帮助!