2015-12-14 5 views
3

У меня есть ниже PHP скриптPHP, как выводить арабские символы на окна с помощью PowerShell

<?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); 

Ничего не работает, я продолжаю получать неправильный текст Мне нужно, чтобы текст проверьте, существует ли файл ...

+0

'эхо file_exists ("your_filename");' – NSNoob

+0

// 1 9 2. 1 6 8. 1 0. 2 0 6/wwwroot/SABISCORPORATE/P rep L ist/D ocuments/ 4 1/1 5 1 6 L evel IA rabic B asic Q uestions and A nswers T 1 ♠ '♠ D ♠ # ♠ 3 ♠ D ♠ H ♠ (♠ '♠ D ♠. ♠ (♠ 1 ♠ J. Pd fPHP Warning: file_exists() ожидает, что параметр 1 является допустимым путем, строка, указанная в C: \ Users \ aao un \ Desktop \ Test-AAA.php on line 6 – Anthony

ответ

0

Убедитесь, что кодировка файловой системы совпадает с кодировкой строки, содержащей имя файла в вашем 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 
} 
+0

Если я открою url, я могу найти файл, – Anthony

+0

, но код вернет False – Anthony

+0

@ user5514667 Вы можете добавить реализацию того, как вы используете этот метод в своем вопросе? – NSNoob

Смежные вопросы