使用unicode字符的多语言支持。有点困惑

时间:2009-09-05 21:01:35

标签: php unicode multilingual

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

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

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

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

我有点难过。请帮忙。

1 个答案:

答案 0 :(得分:3)

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文本(您应该避免使用)时才有意义。