我的申请到目前为止只有英文版。整个模板和数据库的内容编码均为 UTF-8。我现在希望将应用程序国际化/翻译成具有绝对需要 UTF-8 的字符集的语言。
该应用程序使用各种 PHP 字符串函数,例如strlen()
, strpos()
, substr()
等等,我的理解是我应该将它们切换为多字节字符串函数,例如mb_strlen()
, mb_strlen()
, mb_substr()
等,以便正确处理多字节字符。我尝试围绕这个主题阅读一些内容,但实际上我能找到的所有内容都深入到“编码理论”,并且没有提供问题的简单答案:如果我自始至终都使用 UTF-8,我可以从使用strlen()
to mb_strlen()
并期望在英语和阿拉伯语中都能正常工作,或者还有其他我需要注意的地方吗?
任何见解都将受到欢迎,如果我因我的相对无知而冒犯了那些对编码很感兴趣的人,我深表歉意。
不会。由于 PHP 中的字节数组也是字符串,因此简单地将 8 位字符串函数替换为对应的 mb_* 函数只会带来麻烦。像 strlen() 和 substr() 这样的函数可能比实际的文本字符串更频繁地用于字节。
在我上次工作的地方,我们成功地用 PHP 构建了一个多语言网站(阿拉伯语、印地语等其他语言),而根本没有使用 mbstring 库。文本字符串操作实际上并不经常发生。当它发生时,需要比仅仅更改函数名称更加小心。我发现大多数挑战都存在于 HTML 方面。让页面布局与 RTL 语言一起使用并不是一件简单的事情。
我不知道你是否只是用阿拉伯语作为例子。国际化的难度可能有很大差异,具体取决于“国际”是否仅指欧洲语言(加上俄语),或者是否包括中东、南亚和远东语言。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)