使用cURL,我在文件名中保存具有UTF-8字符的文件。
例如:
testšć.docx
当我使用mb_detect_encoding()
时,它返回ASCII。
所以我尝试用iconv
将它从ASCII转换为UTF-8,从UTF-8转换为UTF-8。
两个选项都不起作用。
所以有人对我如何保持UTF-8文件名的建议吗?
干杯!
您的文件系统(和操作系统)必须支持UTF-8编码的文件名,以便在文件名中保留使用UTF-8的文件。如果不支持,那么最好的选择是将它们转换为已知的音译,或者丢弃(替换)无法转换的字符。
与MySQL类似,当你的MySQL数据在UTF8编码时,你应该让php通过UTF8"通信"来读取它,所以既然你的HTML数据是在UTF8中,我认为你的问题是(虽然我没有所有的代码来知道我是否正确)你没有将其读取为UTF8
尝试将此选项添加到您的cURL配置中:
curl_setopt( $ch, CURLOPT_ENCODING, "UTF-8" );
我不知道这是否是你所缺少的,但如果不是让我知道,我会更新我的答案…