存储语言(utf8_general_ci)

时间:2011-12-30 03:39:27

标签: mysql collation

我必须在MySQL表中存储许多不同的语言。 例如:日本&中文的原生格式

目前我正在使用的表格将Collat​​ion设置为:latin1_swedish_ci

我在互联网上的某处读过我应该使用整理:utf8_general_ci

这是对的吗? 有更好的选择吗? 我应该注意哪些语言限制?

2 个答案:

答案 0 :(得分:0)

是的,这是正确的,因为它是一个非常简单的解决方案,我认为不需要“更好的选择”。

答案 1 :(得分:0)

utf8_general_ci是多语言支持的标准。我注意到最近我开始使用基于数据的站点时,latin1_swedish_ci是我的新表的默认排序规则类型(MySQL 5.0.45 / MySQL 5.0.67)。我必须继续检查这是否已得到纠正,因为数据库连接的排序规则类型可能与新表不同,甚至从一个表到下一个表。

另外,检查数据库和页面的charset是否为UTF-8 Unicode(utf8)。 html头部的某处应该是类似于:

的行
<html>
  <head>
    [...]
    <meta http-equiv = "content-type" content = "text/html; charset = UTF-8" />
    [...]
  </head>
  <body>
    [...]
  </body>
</html>

您可以使用.php中的简单开关来包含/要求正确的语言文件(例如,可能具有本地定义或从数据库读取语言定义),例如:

switch ( $language )
{
  case 'en' : include $path . 'english.php'; break;
  case 'fr' : include $path . 'french.php';  break;
  [...]
}