2013-09-16 32 views
0

我使用PHP抓住從這個URL一些JSON - goo.gl/xdIqEy如何處理這個PHP編碼問題?

我使用cURLfile_get_contents()嘗試過,但總是「姓氏」元素傷愈復出看上去就像─Éur─æi─ç

如果我查看網址在Chrome中,它看起來像ÄurÄ‘ić

它應該看起來像Đurđić

這顯然是某種編碼問題,而是如何我處理呢? HTTP響應頭文件不會給出任何編碼類型的線索。

我已經嘗試了很多不同的iconv組合,當我在PHP中取回字符串時 - 但沒有運氣。

如果我在IE中訪問該URL,它讓我將.json文件下載到磁盤。當我在Sublime Text中打開它時,它看起來是正確的。

有什麼建議嗎?

+0

不知道會的問題,而是保存在UTF8編碼或只是你的PHP文件ANSI? – K0D4

+0

你用什麼來顯示日期必須支持utf-8,utf8_decode將utf-8轉換爲latin1,但latin1不支持這些字符,所以它們被替換爲問號。 – Musa

回答

1

您可以使用:

<?php 
header('Content-Type: text/html; charset=utf-8'); 
echo iconv("utf-8", "latin1", "BosanÄić");//Bosanči 
echo iconv("utf-8", "latin1", "JiráÄek"); //Jiráček 
?> 

你輸入的字符集是UTF8你需要轉換回爲latin1

+0

不幸的是,我無法在標頭中指定'Content-Type'。我從我的PHP腳本中用CURL調用第三方Web服務 - 並且在響應頭文件中沒有設置「Content-Type」。 – Mike

+0

我曾嘗試在我的CURL請求中設置'CURLOPT_ENCODING',但我遇到了同樣的問題。 – Mike