我有一个包含英语和西班牙语文章的网站..
我将我的字符集<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
和mySQL phpAdmin表设置为utf8_general_ci
,但我收到了混乱的字符,例如{/ 1}}
AndreaElJabóNYLa Pasta Dental
从这里[我应该使用哪种MySQL排序/字符集用于英语和西班牙语?建议我们ó
但是
我没有看到在phpMyAdmin中选择utf8_latin_ci
的选项..
我有MySQL服务器版本:5.1.70-cll,phpMyAdmin 4.0.5
答案 0 :(得分:0)
假设数据库本身内有错误的字符。手动修复它们。关于连接,我强烈建议切换到mysqli
(请参阅here)(或PDO
,如果可能,请参阅here)。 UTF-8编码本身很好 - 无需切换到拉丁子集。
除此之外,据我记得,与utf-8的正确连接应该打开这样的东西:
$dbConnection = mysql_connect($host, $user, $password);
mysql_select_db($dbName, $dbConnection);
mysql_set_charset('utf8', $dbConnection);
mysql_query('SET NAMES "utf8"');
这应该在本地选择正确的数据库编码,即确保PHP需要UTF-8编码数据(mysql_set_charset
),并确保数据库理解它必须接受UTF-8编码数据({{ 1}})(解释here)。
您还应该确保您的PHP应用程序发送有关您的编码SET NAMES "utf8"
的标题信息。