private function authPrecheckObjectEncoding()

in src/OSS/OssClient.php [3265:3290]


    private function authPrecheckObjectEncoding(&$options)
    {
        if ($this->checkObjectEncoding !== true) {
            return;
        }

        if (!isset($options[self::OSS_OBJECT])) {
            return;
        }

        try {
            $tmp_object = $options[self::OSS_OBJECT];
            $encoding = array('UTF-8', 'GB2312', 'GBK');
            $encode = mb_detect_encoding($tmp_object, $encoding);
            if ($encode === 'UTF-8' || $encode === false) {
                return;
            }
            $tmp_object = iconv($encode, "UTF-8", $tmp_object);
            if ($tmp_object === false) {
                return;
            }
            $options[self::OSS_OBJECT] = $tmp_object;
        } catch (\Exception $e) {
            //IGNORE
        }
    }