我有一些URL在CP-1251我相信。例如:PHP网址编码问题
http://domain.com/Test - суть в этом.mp3
mb_detect_encoding
表示这是ASCII码。但是,我试图将其转换为UTF-8,但没有运气。而下面的工作:
$url = mb_convert_encoding(urldecode($url), "Windows-1251", "auto");
这意味着它转换的网址Windows-1251
。这很奇怪,但它显示了正确的人物。但是当我将这个转换后的url插入一个html对象(某些音乐播放器)时,它不起作用。萤火虫显示错误:
"NetworkError: 404 Not Found - http://domain.com/Test%20-%20????%20?%20????.mp3"
所以不知何故,我得到了问号而不是正确的URL。 urlencode
没有帮助。文件本身是utf-8
。
我对所有这些东西感到困惑。这里有解决方案吗?
你试过'utf8_encode($ url)'吗?如果你的页面的编码设置为utf-8,这应该可以工作。 –
@米歇尔米奥 - 是的,我有。它给了我以下内容:'http://domain.com/Test - 呃¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡¡Ñ。Ñ.mp3'这当然不好。 – grjj3
当你说“文件本身是'utf-8'”你是指HTML页面吗? –