使用cURL,我正在保存文件名中包含UTF-8字符的文件。
例如:
testšć.docx
当我使用mb_detect_encoding()
时,它返回ASCII码。
所以我试着用iconv
把它从ASCII码转换成UTF-8,再从UTF-8转换成UTF-8。
这两种选择都不起作用。
有没有人有关于如何保留-8文件名的建议?
干杯!
发布于 2011-12-17 10:10:46
您的文件系统(和操作系统)必须支持UTF-8编码的文件名,才能保留文件名中使用UTF-8的文件。如果两者都不支持,那么最好的选择是将它们转换为已知的音译,或者丢弃(替换)无法转换的字符。
发布于 2011-12-18 23:32:43
与MySQL类似,当您的MySQL数据以UTF8编码时,您应该让php通过UTF8“通信”来读取它,因此,由于您的数据是UTF8格式的,我认为您的问题在于(尽管我不知道您的所有代码是否正确)您没有将其读取为UTF8。
尝试将此选项添加到您的cURL配置:
curl_setopt( $ch, CURLOPT_ENCODING, "UTF-8" );
我不知道这是不是你错过了什么,但万一不让我知道,我会更新我的答案……
https://stackoverflow.com/questions/8542031
复制相似问题