如何国际化PHP Web应用程序?

时间:2015-08-05 10:25:19

标签: php internationalization multilingual multibyte

我们有一个PHP应用程序,旨在适用于具有普通字符的特定国家/地区。此应用程序具有通常在大多数应用程序中找到的常规模块,例如注册/登录模块,文本编辑器,发布文本,对数据库的读/写,搜索模块......

我过去已经做过了,但是我不记得将这个应用程序转换成国际应用程序的所有步骤,支持所有类型的字符(中文,日文,俄文等)。

我已经开发了一些脚本以便:

  • 将文件编码更改为utf-8
  • 更改数据库的编码(数据库本身,表格和文本/ varchar字段)
  • 每次我创建一个实例(SET NAMES utf8
  • 时,将数据库设置为utf-8
  • 将所有字符串函数更改为multibyte(例如:substr()mb_substr()
  • 进入模板并将编码设置为utf-8(<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

修改

  • 单元测试(感谢Marcel Djaman)
  • accept-charset="UTF-8"添加到表单中(感谢Jason Spicer)
  • 使用iconv(感谢Robert Pounder)

我还有其他步骤吗?

如何检查具有数千个页面的应用程序?

1 个答案:

答案 0 :(得分:1)

您唯一真正遗漏的是utf8_encoding / utf8_decoding页面。

https://secure.php.net/manual/en/function.utf8-encode.php

https://secure.php.net/manual/en/function.utf8-decode.php

也可能需要使用iconv

https://secure.php.net/manual/en/function.iconv.php

注意:

utf8_encode()只会将ISO-8859-1转换为UTF-8,因此您必须在此实例中使用iconv