我应该使用英语和西班牙语的校对/字符集吗?

时间:2013-11-09 00:21:48

标签: php mysql utf-8 phpmyadmin content-type

我有一个包含英语和西班牙语文章的网站.. 我将我的字符集<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

1 个答案:

答案 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"的标题信息。