UTF8和日文字符

PT *_*esu 3 mysql unicode utf-8

问题:外来字符不会显示.这包括德语,日语,俄语和除英语以外的所有其他语言(完美地运作).Ones PHP通过jQuery AJAX调用MySQL调用它应该返回信息并将其显示在页面上.调用并显示数据.但是对于非英文字符,结果显示为"?".

在phpMyAdmin中显示的数据应该是日语,德语等.但是从MySQL获取的内容并不是这样返回的.

问题不是由浏览器引起的,因为我的浏览器支持所有语言编码.

MySQL编码:UTF8_GENERAL_CI

页面编码:UTF-8

<meta charset="utf-8" />
Run Code Online (Sandbox Code Playgroud)

问题可能在于PHP从MySQL获取数据,因为在通过phpMyAdmin查看的MySQL中似乎很好.所以这是用于从MySQL获取此数据的代码.除非必须在此文件中包含编码.

view.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'])
Run Code Online (Sandbox Code Playgroud)

;

PS.编辑得更清楚.

Pek*_*ica 5

您很可能需要将数据库连接的字符集设置 为UTF-8.

如何做到这取决于您使用的数据库库.

在旧的mySQL库中,它会是

mysql_query("SET NAMES utf8");
Run Code Online (Sandbox Code Playgroud)

(pre mySQL 5.0.7)和

mysql_set_charset("utf8");
Run Code Online (Sandbox Code Playgroud)

对于mySQL 5.0.7和更新版本.