我是php的新手,我有一个脚本可以从一些波斯音乐网站上获取信息。
我无法从网站获取波斯语字符:
$this->fa_artist = $html->find('div.main-post', 0)->find('p', 0)->find('b', 1)->plaintext;
file_put_contents('fa_artist.txt', $this->fa_artist);
通过html链接将fasi艺术家名称保存在fa_artist中
名称是:امیرعلی
但是我看到这个顺序:
امیرعلی
在文件中
如何将其另存为波斯字符?
答案 0 :(得分:0)
UTF-8(unicode)链接应使用rawurlencode进行编码,以标准兼容模式提供必要的字符序列...例如:
<?php
echo '<a href="' . rawurlencode("امیر علی") . '">' . htmlentities("امیر علی", ENT_QUOTES, "UTF-8") . '</a>';
?>
如果您看到来源,则可以看到:
<a href="%D8%A7%D9%85%DB%8C%D8%B1%20%D8%B9%D9%84%DB%8C">امیر علی</a>
rawurlencode
必须用于UTF-8链接
(http://php.net/manual/en/function.rawurlencode.php)
htmlentities
必须用于UTF-8文本
(http://php.net/manual/en/function.htmlentities.php)
必须使用以下方法将您的页面用作UTF-8:
ini_set('default_charset', 'UTF-8');
放在脚本的顶部,并且脚本可能必须以UTF-8进行内部编码而没有BOM(字节顺序标记)...
因此您可以在项目中直接使用UTF-8,而不会丢失任何内容...
我希望有帮助。