Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php-如何将非utf-8字符串转换为utf-8_Php_Mysql_Encoding_Utf 8_Character Encoding - Fatal编程技术网

php-如何将非utf-8字符串转换为utf-8

php-如何将非utf-8字符串转换为utf-8,php,mysql,encoding,utf-8,character-encoding,Php,Mysql,Encoding,Utf 8,Character Encoding,我有一个返回波斯语字符串的php页面,这是我现在的内容: Ùروشگاه تعطیل Ù…ÛŒ باشد . ساعت کاری Ùروشگاه 8 الی 22 روزهای شنبه تا پنج شنبه 正如您所看到的,编码错误并且不可读,我需要将其转换为utf-8编码。 我从数据库返回数据,数据库中表和单元格的编码是utf8_persian_ci,它在phpmyadmin中

我有一个返回波斯语字符串的php页面,这是我现在的内容:

    Ùروشگاه تعطیل Ù…ÛŒ باشد .
ساعت کاری Ùروشگاه 8 الی 22 
روزهای شنبه تا پنج شنبه
正如您所看到的,编码错误并且不可读,我需要将其转换为utf-8编码。 我从数据库返回数据,数据库中表和单元格的编码是utf8_persian_ci,它在phpmyadmin中显示货币

如何将此不可读字符串转换为utf-8编码并使其可读? 我尝试过utf8编码和下面的代码,但其中没有一个有效:

    echo iconv(mb_detect_encoding($string, mb_detect_order(), true), "UTF-8", $string);

我怎样才能解决这个问题

您可以尝试此功能:

public function content_iconv($data, $to = 'utf-8') {
    $encode_array = array('UTF-8','ASCII','GBK','GB2312','BIG5','JIS','eucjp-win','sjis-win','EUC-JP');
    $encoded = mb_detect_encoding($data, $encode_array);
    $to = strtoupper($to);
    if($encoded != $to) {
        $data = mb_convert_encoding($data, 'utf-8', $encoded);
    }
    return $data;
}

不要使用任何转换子例程。修复程序

对于某些阿拉伯语文本,输出为“Mojibake”。见对此类问题的讨论

有关如何修复数据(除非选择重新加载),请参阅