我正在开发一个高度定制的商店软件,基于开源软件,用PHP和常用的web技术(CSS、HTML、JS)编写。
在过去的几个月/几年里,我做了大量的定制工作,并开发了一些特定的个性化特性,这对于我们分公司的成功是必不可少的。
该商店和项目文件以ISO-8859-1编码(公司位于德国)。
现在我们想在不同的国家(如瑞典、波兰、英国)推广和使用商店系统,并根据国内的需要定制。
不过,我恐怕日后可能会遇到一些编码问题,所以我的问题是:
在准备“多店”使用之前,将整个项目和环境的编码更改为UTF-8是明智的,还是应该将源代码留在原处,并在每个国家随后接近时处理(可能的)编码问题?
发布于 2014-01-20 12:27:34
您将遇到编码问题。你可以用ISO-8859-1来处理瑞典语和英语,但不能用波兰语.您可以使用ISO-8859-2作为波兰语,但是当您迁移到不包含ISO-8859-1或ISO-8859-2的语言时,您将需要使用其他编码。
因此,最好将软件国际化,使用涵盖所有语言的UTF-8,并始终使用UTF-8。
发布于 2014-01-20 14:12:04
从单字节转换到多字节编码( utf-8就是这样)远不是那么简单。它将要求您触摸应用程序中几乎所有的字符串(或至少检查它),以及操作它的每个函数。请记住,由于这一点,PHP 6和Perl 6已经被搁置了多年。除非(a)你有信心你能实现它,并且(b)你仔细考虑它是否值得去做,否则我不会建议你去做这个开关。
在你完全投入之前,我建议试着做一些工作,看看它进展得有多顺利。
从您所说的情况来看,显然您需要的不仅仅是ISO-8859-1,所以您确实需要国际化。但是,如果您的预期客户群可以使用ISO-8859编码系列来处理,那么您可以选择:
第一个选择应该比第二个容易得多,所以仔细考虑utf-8会给你带来什么好处。
发布于 2014-01-22 10:36:32
有几件事要考虑:
在PHP方面:
在前端:
在操作系统方面:
因此,基本上,您是在UTF8生态系统中游泳,所有现代框架、库和其他外部PHP代码默认为UTF8。PHP本身逐渐强制UTF8作为默认设置,这意味着如果您将代码保存在Latin1中,那么长期来看很可能会遇到bug。
切换到UTF8并不是很难,除非您必须处理无法控制编码的数据源,我的建议是切换,从长远来看,它将为您解决许多麻烦:)
https://softwareengineering.stackexchange.com/questions/224774
复制相似问题