[英]UTF-8 Encoding Issue when uploading CSV
我在UTF-8编码上遇到问题。 我有一个CSV文件,这是其内容:
Quién tú - Tes, más , S03
Who you, More, SO2
我一个接一个地提取了它,并在循环中找到了这个条件
if(mb_detect_encoding($exploded_value[$i], 'UTF-8', true))
{
echo $cleaned_data = utf8_encode($exploded_value[$i]);
}
else
{
echo $cleaned_data=$exploded_value[$i];
}
我清理的数据变成了这样:
Quién tú - Tes
más
S03
Who you
More
SO2
字符之类的á,ç,ú被解码,并且在检索时会给出错误的输出。
具有西班牙字符的文本被检测为UTF-8编码字符。 因此,它属于utf8_encode($ exploded_value [$ i])。 并且当utf8_encode执行其过程时,它就被解码了。
我的元内容类型的声明为charset = UTF8
任何人都遇到过此问题。 您能否分享如何解决? 请帮忙。 我到处搜寻,没有发现任何运气。
您的逻辑相反:您要重新编码已经utf-8编码的内容,而不是按原样传递的内容。
要解决此问题,只需切换if
和else
主体:
if(mb_detect_encoding($exploded_value[$i], 'UTF-8', true))
{
// already UTF-8
echo $cleaned_data=$exploded_value[$i];
}
else
{
// not yet UTF-8
echo $cleaned_data = utf8_encode($exploded_value[$i]);
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.