在经历了大约两打帖子之后,我被正式难住了。我有一个带有 utf8_general_ci 整理列的数据库。使用 PHPMyAdmin,我能够正确地查看表中的 UTF-8 数据(至少据我所知。)我认为我想做的事情很简单。我已经通过多种方式查询了数据,我只想回显 utf-8 值:
echo bin2hex("more…"); //note "…" is a special character
6d 6f 72 65 e2 80 a6 (Hex Value)
但是,如果我只是 echo $row->value 我得到:
6d 6f 72 65 85
它给出的 UTF-8 编码:
6d 6f 72 65 c2 85
我读过的大多数帖子都说要使用 mysql_set_charset("utf8") 但这确实搞砸了:
6d 6f 72 65 26 61 63 69 72 63 3b 80 26 62 72 76 62 61 72 3b
最后使用 mysql_set_charset("utf8") & utf8_encode($var):
6d 6f 72 65 26 61 63 69 72 63 3b c2 80 26 62 72 76 62 61 72 3b
我还尝试在 PHP 中设置 UTF8 设置。Godaddy 使这变得更加困难,所以我使用 ini_set 完成了。但是 mbstring.encoding_translation 不会打开。
// UTF8 settings
ini_set('mbstring.language', 'Neutral');
ini_set('mbstring.internal_encoding', 'UTF-8');
ini_set('mbstring.http_input', 'UTF-8');
ini_set('mbstring.http_output', 'UTF-8');
ini_set('mbstring.encoding_translation', 'On');
ini_set('mbstring.detect_order', 'auto');
ini_set('mbstring.substitute_character', 'long');
关于我需要做什么的任何提示?