问题:外文字符没有按原样显示。这包括德语、日语、俄语和除英语以外的所有其他语言(效果非常好)。php通过jquery ajax调用调用mysql时,它应该返回信息并显示在页面上。调用并显示数据。但是,对于非英文字符,结果显示为“?”.
在phpmyadmin中,显示的数据应该是日文、德文等格式的。但是从mysql中获取的数据则不返回。
该问题不是由浏览器引起的,因为我的浏览器支持所有语言编码。
mysql编码:utf8_general_ci
页面编码:UTF-8

<meta charset="utf-8" />

问题可能在于php从mysql获取数据,因为在通过phpmyadmin查看的mysql数据中,这似乎很好。下面是从mysql获取这些数据的代码。除非编码必须包含在此文件中。
php(从mysql获取所需数据可能是返回编码问题的原因之一?(?)
$q = mysql_query("SELECT * FROM `notice` WHERE nid = '".$nid."'");
         $a = mysql_fetch_array($q);

             $nid = stripslashes($a['nid']);
             $note = stripslashes($a['note']);
             $type = stripslashes($a['type']);
             $private = stripslashes($a['private']);
             $date = stripslashes($a['date']);
             $author = stripslashes($a['author'])


注:为了更清楚起见,编辑过。

最佳答案

您很可能需要将数据库连接的字符集设置为utf-8。
如何做到这一点取决于您正在使用的数据库库。
在旧的mysql库中

mysql_query("SET NAMES utf8");

(MySQL 5.0.7之前的版本)和
mysql_set_charset("utf8");

对于mysql 5.0.7及更新版本。

10-07 13:20
查看更多