PHP Encoding - UTF-8


PHP Encoding - UTF-8

使用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" );  

我不知道这是否是你所缺少的,但如果不是让我知道,我会更新我的答案…