【发布时间】:2017-05-13 06:57:04
【问题描述】:
我正在使用 PHP 进行开发。我只有以下陈述:
<?php
$text = "http://www.aecinema.ir/movie/%d8%a7%db%8c%d9%86-%d9%be%db%8c%da%a9%d8%a7%d9%86-2/";
$text = urldecode($text);
$log_file = fopen("log.txt", "w");
$text = substr($text, -100000);
@$text = mb_convert_encoding($text, 'UTF-8', 'OLD-ENCODING');
fwrite($log_file, $text);
fclose($log_file);
?>
Windows操作系统下,日志文件内容如预期:
http://www.aecinema.ir/movie/این-پیکان-2/
但在 Linux (CentOS) 下的输出是:
http://www.aecinema.ir/movie/این-پیکان-2/
这是解码错误。
编辑:脚本由Cron 运行。我不知道这是否有什么不同。
编辑:我注意到只有当我使用浏览器打开文件时,字符才会显示得很奇怪。当我下载文件并在 Windows 中打开它时,一切正常。
【问题讨论】: