gpt4 book ai didi

php如何使用powershell在windows上输出阿拉伯字符

转载 作者:搜寻专家 更新时间:2023-10-31 21:55:37 25 4
gpt4 key购买 nike

我有下面的 PHP 脚本

<?php
header('Content-Type: text/html; charset=utf-8');
$file = "//192.168.10.206/wwwroot/SABIS CORPORATE/PrepList/Documents/41/1516 Level I Arabic Basic Questions and Answers T1 الأسلوب الخبري.pdf";
echo $file;
?>

结果总是

PS C:\Users\aaoun> php -q c:\Users\aaoun\Desktop\Test-AAA.php
//192.168.10.206/wwwroot/SABIS CORPORATE/PrepList/Documents/41/1516 Level I Arabic Basic Questions and Answers T1 ╪د┘╪ث
╪│┘┘ê╪ذ ╪د┘╪«╪ذ╪▒┘è.pdf PS C:\Users\aaoun>

我试过UT8编码

iconv("unicode", "utf-8", $file);    
iconv("Latin1_General_CI_AS","utf-8",$file);
iconv("Arabic_CI_AS","utf-8",$file);
base64_encode($file);
utf8_encode($file);
base64_decode($file);
utf8_decode($file);
iconv('WINDOWS-1256', 'UTF-8', $file);
iconv('cp1256', 'UTF-8', $file);

似乎没有任何效果,我一直收到错误的文本我需要获取文本以检查文件是否存在......

最佳答案

确保文件系统的编码与 PHP 代码中包含文件名的字符串的编码相同。

否则您正在测试是否存在错误的文件。

例如,如果您的文件系统不支持 UTF-8,但文件名是用 UTF-8 编码的。当您使用 Windows 时,值得注意的是 Windows 文件系统(FAT、FAT32、NTFS)不支持 UTF-8。你可以将你的文件名转换为 UTF-16,比如

$newName = mb_convert_encoding('your file path', 'UTF-16', 'UTF-8');

如果这不起作用,您可以使用 urlencode。从 urlencode 返回的所有字符在文件名 (NTFS/HFS/UNIX) 中均有效。

$newName = urlencode($file);

试试这个代码来知道文件是否存在:

if (file_exists('your file path')) {   
//file exists;
}
else
{
//Does not exist
}

关于php如何使用powershell在windows上输出阿拉伯字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34266402/

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