2013-10-23 38 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

是的和(æøå)服务器无法处理,但编码它,即使您的图像包含(%)标志,它将被存储在服务器上。然后,如果您需要显示原始文件名,则可以再次将其解码。 –