我不确定这是否是重复的帖子。但我有一个插件(js + forms + html + php),可以添加到各种网站。这些网站可能有不同的编码,如ISO-8859-1,ISO-8859-9,utf8等。我无法控制他们对html或其他任何东西的编码。
我想知道什么是使我的php + js + html + forms + mysql支持国际化的最佳方法。即使页面具有不同的编码,我的表单也可以接受不同的编码吗?
在这些级别进行国际化的最佳方式是: 1. PHP 2. JS + HTML + FORMS 3. MYSQL
感谢您的时间。
答案 0 :(得分:1)
实现国际化是一个看似简单但非常复杂的功能。如果你有一个紧密耦合的架构,实施这个野兽将是一种巨大的痛苦。
许多国际化将在您的数据库的后端处理 - 假设您专注于数据驱动的网站。如果是这种情况,则可能只会导致对表结构进行一些更改以及对该数据执行的查询。
例如,假设您的网站必须显示欢迎信息。你将它推到后端,进入一个类似于这样的表:
MessageTable
:id
:message
:lang_code
从浏览器计算lang_code的位置。所以你可以有这样的记录:
MessageTable
1 Hello There en-us
2 Hola es-sp
3 مرحبا ar-sa
您可以将语言代码作为SQL查询的一部分。当然,你可以在更大程度上规范化,但我认为你可能会有这个想法。
在编码方面,我真的说得不多,因为我并没有完全掌握它的速度。在表单提交方面,我不认为它应该真正重要,它只是你如何处理字符串。您可能需要通过查看编码并决定如何操作字符串来进行一些额外的处理,尽管它们可能是unicode。