相关疑难解决方法(0)

UTF-8一路走来

我正在设置一个新服务器,并希望在我的Web应用程序中完全支持UTF-8.我过去曾在现有的服务器上尝试过此操作,但最终似乎不得不回归ISO-8859-1.

我在哪里需要设置编码/字符集?我知道我需要配置Apache,MySQL和PHP来执行此操作 - 是否有一些我可以遵循的标准清单,或者可能是在出现不匹配的地方进行故障排除?

这适用于运行MySQL 5,PHP,5和Apache 2的新Linux服务器.

php mysql linux apache utf-8

1146
推荐指数
13
解决办法
15万
查看次数

为什么Windows需要'file_get_contents`的`utf8_decode`文件名才能工作?

如果$filename包含变音符号(ä,ö,ü)file_get_contents($filename)在我的Windows操作系统上不起作用.通过反复试验,我发现我需要做file_get_contents(utf8_decode($filename))才能让它发挥作用.

但是,当我把这个推送到我的服务器(猜它是某种Linux)它再次返回错误,所以我删除了utf8_decode它,突然它完美地工作.

作为一种解决方法(所以每次我对代码进行更改时都不需要手动更改这段代码)我已经尝试过了

(mb_detect_encoding($filename, 'UTF-8', true)) ? utf8_decode$filename) : $filename;
Run Code Online (Sandbox Code Playgroud)

因为这已经解决了同样的问题,反之亦然(有相同的问题utf8_encode),但$filename结果是在每个(服务器)环境中都是UTF8编码,所以这不起作用,因为它总是如此.

任何想法如何使这两个系统都能工作?(请不要"只是迁移到Linux进行PHP开发" - 我有Linux,但ATM我出于多种原因使用Windows)


编辑:问题也出现,fopen并且接受的解决方案也可以.

php linux windows filesystems character-encoding

7
推荐指数
1
解决办法
5412
查看次数

标签 统计

linux ×2

php ×2

apache ×1

character-encoding ×1

filesystems ×1

mysql ×1

utf-8 ×1

windows ×1