【问题标题】:Multilingual support with unicode characters. A little confusionUnicode 字符的多语言支持。有点混乱
【发布时间】:2009-09-05 21:01:34
【问题描述】:

我正在创建一个 Web 应用程序框架,我在其中提供对多语言内容的支持。 我的意思是一个内容,比如说一个段落可以有 2 个英文句子和印地语(一种印度语言)的其他 2 个句子。现在我对此有几个疑问。

1) 用户或管理员将该内容添加到网站。他们将看到一个文本区域(他们可以粘贴他们的内容)。然后他们提交帖子,我会将内容保存在数据库中。我还想为他们提供一个基于 Web 的打字机界面,他们可以在其中以给定的语言输入内容,从那里复制,然后将其放回我的主要文本区域。 怀疑: 1a)我需要对textarea做些什么,以便它接受unicode中的字符。 1b) 我在哪里可以找到我想要的某种语言的打字机界面。 tinymce 是否支持这一点。 1c) 我应该把数据库的编码设置为'UTF 8'吧?

2)然后我需要从数据库中获取内容并将其放入网页并显示它。现在这个内容有 utf8 编码。因为它可以有多种语言。我需要做什么?我猜只是将网页的编码设置为 utf-8 就可以了。如果客户端电脑上没有安装语言所需的字体会怎样?

我正在使用 PhpEd 编辑器。我的 php 文件编码必须是 utf-8,还是只指定 html 编码标签为 utf8 就足够了?

我有点难过。请帮忙。

【问题讨论】:

  • 什么是打字机界面?
  • 这是一个编程网站。您无需告诉我们印地语是什么。 :-)
  • 按打字机界面表示一种通用打字机,适用于多种语言。请参阅此链接:kaulonline.com/uninagari/default 现在,当管理员想要将一些内容放入印地语时,他可以使用它并输入内容,然后将其放回主文本框。如果我可以为所有需要的语言提供这样的界面,管理员将只使用管理面板输入多种语言的内容。
  • 这种“虚拟键盘”方法可能适用于印地语,但对于日语和中文来说几乎是不可能的,因为您需要一个广泛的汉字/汉字阅读数据库(包括复合阅读)来处理输入。为什么不让用户改变他们本地机器上的键盘布局,让操作系统来处理呢?如果他们的语言说得足够好,可以编写它,那么他们很可能已经添加了键盘布局,并且您最终不会陷入需要编写完整的 IME 的情况。

标签: php unicode multilingual


【解决方案1】:

1a) 是的,如果文本区域将接受任何语言的文本,只要您的网页包含以 UTF-8 编码的文本。如果它不起作用,请仔细检查 HTTP Content-type 标头和 Content-type 的 HTML META http-equiv 标记。如果他们都在场,他们应该同意;其中一个就足够了。

1c) 如何处理您的数据库取决于您使用的特定 DBMS。如果支持,请确保

1. the table encoding
2. the connection/the client encoding

都设置为 UTF-8。

2) 再次将页面编码设置为 UTF-8(参见 1a)。如果客户端系统上没有足够的字体,您将失败 - 但如果是这种情况,最终用户可能无法阅读文本(大多数用户确实有他们母语的文本字体) .

PHP 文件的编码仅在它们包含非 ASCII 文本时才相关(应避免使用)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-06
    • 2011-04-22
    • 1970-01-01
    • 2011-11-08
    • 1970-01-01
    相关资源
    最近更新 更多