PHP MySQL编码错误?

Mik*_*ord 2 php mysql encoding utf-8

继承人我的问题.我有一个名为quotes的mysql表.在其中一行中,引号包含folloqing字符

‘ and ’
Run Code Online (Sandbox Code Playgroud)

行整理是utf8__unicode__ci

当使用MySQL Query Browser和PHPMyAdmin来检索行时,引号按预期出现.然而,当我使用PHP从数据库中检索它们并在屏幕上显示它们时,它们就像盒子一样出现

? and ?
Run Code Online (Sandbox Code Playgroud)

我的html页面有UTF-8编码,所有UTF-8编码选项都在php中设置:

/* Set UTF-8 settings */
mb_internal_encoding('UTF-8');
mb_regex_encoding('UTF-8');
mb_http_output('UTF-8');

/* Set ICONV ini settings */
ini_set('iconv.input_encoding', 'UTF-8');
ini_set('iconv.output_encoding', 'UTF-8');
ini_set('iconv.internal_encoding', 'UTF-8');

/* Set ICONV function settings */
iconv_set_encoding('input_encoding', 'UTF-8');
iconv_set_encoding('output_encoding', 'UTF-8');
iconv_set_encoding('internal_encoding', 'UTF-8');
Run Code Online (Sandbox Code Playgroud)

在我看来,它应该工作.但它没有:S可以让任何人对此有所了解.

Joa*_*din 5

您可能需要将UTF-8设置为MySQL连接上选择的字符集.如果你使用的是mysqli PHP驱动程序,这意味着:

$mysqli = new mysqli("localhost", "my_user", "my_password", "test");
$mysqli->set_charset("utf8");
Run Code Online (Sandbox Code Playgroud)