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

ncgqoxb0  于 2021-06-21  发布在  Mysql
关注(0)|答案(2)|浏览(428)

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

Ùروشگاه تعطیل Ù…ÛŒ باشد .
ساعت کاری Ùروشگاه 8 الی 22 
روزهای شنبه تا پنج شنبه

正如您所看到的,编码是错误的,而且不可读,我需要将其转换为utf-8编码。我从数据库返回数据,数据库中表和单元格的编码是utf8\u波斯语\u ci,它用phpmyadmin显示货币。
如何将这个不可读的字符串转换为utf-8编码并使其可读?我尝试过utf8编码和下面的代码,但没有一个是有效的:

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

我怎样才能解决这个问题?

3z6pesqy

3z6pesqy1#

您可以尝试此功能:

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;
}
3ks5zfa0

3ks5zfa02#

不要使用任何转换子程序。修复程序。
一些阿拉伯语文本的输出是“mojibake”。请看这里的讨论。
有关如何修复数据(除非选择重新加载),请参见此。

相关问题