gpt4 book ai didi

php - 奇怪的Linux文件写入

转载 作者:太空宇宙 更新时间:2023-11-04 10:20:57 25 4
gpt4 key购买 nike

我正在使用 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 中打开它时,一切正常。

最佳答案

试试这个,希望这会帮助你。您应该启动一个将字符集定义为 utf-8 的 header 以获得所需的输出。像这样 header('Content-Type: text/html; charset=utf-8');

Try this code snippet here

<?php

ini_set('display_errors', 1);
header('Content-Type: text/html; charset=utf-8');
$s='http://www.aecinema.ir/movie/%d8%a7%db%8c%d9%86-%d9%be%db%8c%da%a9%d8%a7%d9%86-2/';
echo $s = urldecode($s);

输出: http://www.aecinema.ir/movie/ا¢-پکان-2/

解决方案 2: 没有第一个解决方案好

Try this code snippet here

<?php

ini_set('display_errors', 1);
echo '<meta charset="UTF-8">';
$s='http://www.aecinema.ir/movie/%d8%a7%db%8c%d9%86-%d9%be%db%8c%da%a9%d8%a7%d9%86-2/';
echo $s = urldecode($s);

完整代码:

<?php
ini_set('display_errors', 1);

header("Content-type: text/html; charset=utf-8");
$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);
fwrite($log_file, $text);
fclose($log_file);

关于php - 奇怪的Linux文件写入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43950193/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com