PHP / Mysql字符集

时间:2012-08-25 18:39:43

标签: php mysql utf-8 character-encoding character

我有一个PHP / MySQL应用程序,它需要在幕后使用UTF-8字符(UTF-8字符不会在屏幕上显示)。 UTF-8字符来自PHP cURL请求。

我需要做些什么才能使PHP和MySQL正常使用UTF-8字符?

  1. 我需要在php.ini中设置default_charset = utf-8吗?或者是这个 仅在屏幕上显示数据时使用?

  2. 我是否需要为我的数据库,表格和列设置字符集/排序规则为utf8 / utf8_general_ci?

  3. 我读到MySQL还有connection character sets这样的东西。这真的很重要吗?

  4. 还有什么我需要做的吗?
  5. 感谢您的帮助。

2 个答案:

答案 0 :(得分:1)

考虑将UTF-8用于所有内容,php文件,HTML编码和数据库,它将为您节省很多麻烦。您不需要在编码之间进行转换,您可以使用所有编码的所有可能字符,也可以不使用HTML实体。

我收集了一些有关如何建立网站的提示UTF-8 only。如果您已经有一个不同编码的数据库,那没问题,只需告诉连接对象提供UTF-8。

$db = new mysqli($dbHost, $dbUser, $dbPassword, $dbName);
$db->set_charset('utf8');

答案 1 :(得分:0)

您可以使用以下php内置函数将字符iso变为utf8 charset

utf8_encode(CHARACTERS);