2013-10-23 39 views
0

丹麥角色時,我使用名爲波迪奧第三方API。 我想用的API函數來上傳文件和它的工作涼爽文件上傳錯誤,其在圖像文件名

唯一的問題是,當我updoad命名,如「Skærmbillede.jpg」其返回該錯誤

致命錯誤文件:未捕獲PodioBadRequestError:「請求實體不能被解碼以下字符集進行嘗試:[ 'US-ASCII', 'UTF-8']」請求URL:http://api.podio.com/file/v2/請求正文:空堆棧跟蹤:#0 /家庭/ meetuniv /的public_html/ANJALI/tidligerebestilinger/LIB/Podio.php(271):波迪奧::請求( 'POST', '/文件/ V2 /',陣列,陣列)#1 /home/meetuniv/public_html/anjali/tidligerebestilinger/models/PodioFile.php(40 ):波迪奧::後( '/文件/ V2 /',數組,數組)#2 /家/ meetuniv /的public_html/ANJALI/tidligerebestilinger/new_re quest.php(43):PodioFile ::上傳( '/ tmp目錄/ phpPRXwtP', '?Sk的rmbillede.pn ...')#3 {}主扔在/ home/meetuniv /的public_html/ANJALI/tidligerebestilinger/lib目錄/上線208

Podio.php只是因爲 「Skærmbillede.jpg」 文件名contatin丹麥字符。 有什麼辦法嗎?我可以更改或替換文件名稱丹麥字符與適當的字符。

感謝看看...

+1

該API說它接受UTF-8編碼的數據 - 所以只需編碼文件名在UTF-8應該做的,我會說... – CBroe

+0

雅謝謝@CBroe $ str = mb_convert_encoding($ str,「UTF-8 「);是有用的。 – Manwal

回答

0
$str = mb_convert_encoding($str, "UTF-8"); 

有助於我的情況。謝謝你看看。 :)

1

你必須將名稱轉換圖像的同時上傳到服務器上,因爲服務器不能處理這些字符。所以你需要把æ改成ae或者類似的東西。這意味着你將不得不擺弄你正在使用的插件。 你可以做http://www.w3schools.com/jsref/jsref_decodeuricomponent.asp

或者你可以簡單地寫信給人們,他們應該重新上傳圖片。

+0

編碼是做到這一點的最佳方法。謝謝 – Manwal

+0

是的和(æøå)服務器無法處理,但編碼它,即使您的圖像包含(%)標誌,它將被存儲在服務器上。然後,如果您需要顯示原始文件名,則可以再次將其解碼。 –