使用外语

时间:2010-06-01 17:39:35

标签: php javascript mysql html utf-8

我的数据库需要包含包含外语字符的字符串。例如,用户将字符串输入表单,提交表单并将字符串添加到DB。该字符串将显示在网页上。我想使用UTF-8,因为它可以处理所有必需的语言。

目前,我相信我的数据库设置为'latin1',但网页无论如何都能够显示正确的字符。尝试设置textareas以保存外来字符以及通过命令行查看DB时出现问题。

如何有效实施?我的计划是闪现整个网站,使得DB charset是UTF-8,网页字符集是UTF-8。有人可以给我一些关于如何做到这一点的最小命令,所以我不会最终复制东西(当我真正需要的时候到处都有“UTF-8”命令)并且让事情变得难以控制?

编辑:使用MySQL,PHP和JavaScript / HTML

1 个答案:

答案 0 :(得分:0)

这将是DB中的方法(UTF-8)。以下是您要查看的内容:

  1. 您的浏览器是否支持UTF-8字符(确保您使用的字体包含您需要支持的所有相关代码页的字符)并且是否正确设置了元字符集标记?

    < meta http-equiv =“Content-Type”content =“text / html; charset = utf-8”> (在HTML4中)

    <?xml version =“1.0”encoding =“UTF-8”?> (在XHTML中)

  2. 您是否正在发送ContentType标头?如果是这样,请确保它与您在元或XML版本标记中定义的内容相匹配。

  3. 关于命令行,请确保您使用的终端和shell的charset也匹配。 (检查服务器上的区域设置,假设它是* NIX,您可以通过键入“locale”来执行此操作)执行此操作将更改您的区域设置:

    export LANG =“en_US.UTF-8”

    如果您正在使用Windows,请检查系统的区域设置。 http://windows.microsoft.com/en-us/windows-vista/Change-the-system-locale。如果您使用PuTTY登录服务器,则需要确保将其设置为unicode模式以支持UTF-8。

  4. 您要在mysql中查看的另一件事是表格排序设置。确保它是一个对你想要做的事情有意义的整理,或者索引会有意想不到的行为。 (见http://dev.mysql.com/doc/refman/5.0/en/charset-mysql.html

  5. 更有可能的是,您希望为您的网站设置一个包含字符集编码信息的头文件,并将其包含在每个视图中。就数据库而言,显然你的text和varchar字段需要支持正确的编码,没有简单的方法来做这个而不改变每个表以确保它的单个字符集是正确的并且它的校对是正确的(一旦表是在charset中创建,你需要转换它)。