【发布时间】:2012-12-08 12:33:50
【问题描述】:
共有三个文件:index.php、config.php和[语言前缀].php。
索引设置基本设置(如包含路径)并将控制权传递给“config.php”。
Config 设置了很多东西,包括语言,当它知道语言时,它需要语言文件。
语言文件存储一些用于静态翻译的变量(如 $menu=array('foo','bar','etc');)
我已经完成了所有工作并测试了所有内容(本地),但是当我上传到服务器时,每个包含特殊字符(如 áéíóúâêîôû 等)的变量都在 index.php 外部声明(在 config.php 或语言文件)导致无效字符(�),但如果我在索引中声明它,字符会正常显示。
由于它在本地工作,我假设它应该是由于服务器设置。应该是什么问题? (我有 UTF-8 标头,文件是 UTF-8 编码的)
更多信息: 我有一个脚本可以跨语言翻译日期,但它有正确打印的“Sábado”之类的词。脚本本身包含在模板中,但变量是在同一个文件中设置和使用的。可以要求更改文件的编码吗?
【问题讨论】:
-
你的实际配置文件的编码是什么[我不是指标题编码] 你的 index.php 文件可能有正确的编码,但配置文件可能没有。根据您的代码编辑器,您也许可以将其他文件提升为 utf-8
-
我已经使用 VIM 或 gedit 编辑了所有文件。 (我相信默认一切都为 UTF-8/ascii)。 Cpanel 文件管理器还将文件识别为 UTF-8。如果它们没有被编码为 UTF-8,我怎么能在本地看到所有内容?
-
不太确定我理解你的最后一个问题,但是,我要做的是进入 cpanel,复制 config.php 的内容,删除文件,复制 index.php,将其重命名为 config。 php,然后将内容粘贴回去。既然您知道 index.php 是正确的编码。
-
我只是说文件没问题(正确的编码)。请阅读我添加到问题中的信息。这个问题似乎与其他文件中使用的变量有关,但我不确定也不知道为什么。
标签: php global-variables