Behnam Mohammadi Ответов: 1

php кодировка для персидского языка


Привет У меня есть этот код:
<!DOCTYPE html>
<html lang="fa" dir="rtl">
<head>
    <meta charset="utf-8"/>
</head>
<body>
<style>
*{
	font-family:tahoma;
}
</style>
<center>
	<?php
	$dir="./texts";
	if ($handle = opendir($dir)) {
		while (false !== ($file = readdir($handle))) {
			echo "<div class='_item'>";
			echo "<a href='".utf8_decode($file)."'></a><br />";
			echo "</div>";
		}
		closedir($handle);
	}
	
	
	
	?>
</center>
</body>
</html>


и у меня есть эти файлы в этом реж "./тексты":
test.txt
تست.txt


но я понимаю вот что:
.
..
test
���


я не могу получить его с правильной кодировкой. :(

1 Ответов

Рейтинг:
1

Sergey Alexandrovich Kryukov

А чего вы ожидали? Вы неправильно указали кодировку. Так и должно быть

<html>
	<head>
		<!-- ... -->
		<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	</head>
<body>
И, конечно же, вам нужно на самом деле написать текст в Юникоде и сохранить свой файл в UTF-8. :-)

И возможно Вам не стоит забывать о RTL дизайне: https://developer.mozilla.org/en-US/docs/Web/CSS/direction[^].

—СА


Behnam Mohammadi

я меняю эту строку на <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> но все еще не работаю, и я извлекаю строки из имени файла, я не могу установить кодировку для этого

Sergey Alexandrovich Kryukov

Ты видишь это?: "فارسی کار می کند"?
И вот как работает настоящая страница. Так что это должно сработать и для вас. Можете ли вы показать какой-нибудь полный образец HTML всего с одной строкой на персидском языке? И вы действительно использовали UTF-8?
—СА

Sergey Alexandrovich Kryukov

О, и ромб-образные символы в конце показывают, что вы, возможно, использовали какой-то шрифт, который вообще не поддерживает Юникод или не поддерживает персидско-арабский шрифт, что является редкой вещью, потому что этот скрипт и подмножество Юникода поддерживаются по умолчанию почти на всех современных платформах. Если вы вообще не использовали семейство шрифтов, персидский язык должен всегда отображаться, как это происходит на этой странице.
—СА