Rumah pembangunan bahagian belakang tutorial php php自动获取字符串编码的函数mb_detect_encoding

php自动获取字符串编码的函数mb_detect_encoding

Jun 20, 2016 pm 01:02 PM
rentetan php

当在php中使用mb_detect_encoding函数进行编码识别时,很多人都碰到过识别编码有误的问题,例如对与GB2312和UTF- 8,或者UTF-8和GBK(这里主要是对于cp936的判断),网上说是由于字符短是,mb_detect_encoding会出现误判。
例如:

$encode = mb_detect_encoding($keytitle, array("ASCII",'UTF-8′,"GB2312′,"GBK",'BIG5′));
if ($encode == “UTF-8″){
$keytitle = iconv("UTF-8″,"GBK",$keytitle);
}
Salin selepas log masuk


这段代码的作用是检测字符串的编码是否UTF-8,是的话就转换为GBK。
可是当 $keytitle = “%D0%BE%C6%AC”;时。检测结果却是UTF-8.这个bug其实不算是bug,写程序时也不应当过于依赖mb_detect_encoding,当字符串较短时,检测结果产生偏差的可能性很大。
怎么解决呢,我的办法是:

$encode = mb_detect_encoding($keytitle, array('ASCII','GB2312′,'GBK','UTF-8');
Salin selepas log masuk


三个参数分别是:被检测的输入变量、编码方式的检测顺序(一旦为真,后面自动忽略)、strict模式
对编码检测的顺序进行调整,将最大可能性放在前面,这样减少被错误转换的机会。
一般要先排gb2312,当有GBK和UTF-8时,需要将常用的排列到前面。 


Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

AI Hentai Generator

AI Hentai Generator

Menjana ai hentai secara percuma.

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Bagaimana untuk menukar aksara kepada kod ascii dalam php Bagaimana untuk menukar aksara kepada kod ascii dalam php Mar 03, 2023 pm 06:55 PM

Dalam PHP, anda boleh menggunakan fungsi ord() untuk menukar aksara kepada kod ascii. Fungsi ini boleh mengembalikan nilai ASCII bagi satu aksara atau aksara pertama dalam rentetan Nilai ASCII yang dikembalikan akan dipaparkan dalam bentuk integer sintaks "ord (rentetan)", parameter "rentetan" tidak boleh ditinggalkan, ia adalah rentetan (atau aksara tunggal) dari mana nilai ASCII akan diperolehi.

Bagaimana untuk menggantikan aksara tertentu menjadi kosong dalam rentetan php Bagaimana untuk menggantikan aksara tertentu menjadi kosong dalam rentetan php Mar 06, 2023 pm 06:39 PM

Terdapat dua cara untuk menggantikan aksara tertentu dengan aksara null dalam rentetan PHP: 1. Gunakan fungsi str_replace() untuk menggantikan aksara yang ditentukan dengan aksara null Anda hanya perlu menetapkan parameter pertama kepada aksara yang ditentukan dan parameter kedua kepada aksara nol. preg_replace('/specified character/', "",$str)".

Bagaimana untuk mengalih keluar semua huruf besar daripada rentetan dalam php Bagaimana untuk mengalih keluar semua huruf besar daripada rentetan dalam php Sep 26, 2022 pm 07:59 PM

Dua kaedah pengalihan keluar: 1. Gunakan preg_replace() untuk melaksanakan ungkapan biasa untuk mencari semua huruf besar dan menggantikannya dengan aksara nol Sintaksnya ialah "preg_replace('/[A-Z]/','',$str)". 2. Gunakan preg_filter() untuk melaksanakan ungkapan biasa untuk mencari semua huruf besar dan menggantikannya dengan aksara kosong Sintaksnya ialah "preg_filter('/[A-Z]/','',$str)".

Bagaimana untuk mengalih keluar aksara kiri dan kanan daripada rentetan dalam php Bagaimana untuk mengalih keluar aksara kiri dan kanan daripada rentetan dalam php Mar 27, 2023 pm 03:29 PM

PHP ialah bahasa pengaturcaraan bertaip yang sering digunakan untuk membangunkan aplikasi web. Semasa pembangunan web, anda mungkin perlu melakukan pelbagai operasi pada rentetan, seperti mengalih keluar aksara tertentu daripada rentetan, mengekalkan nombor atau huruf dalam rentetan, dsb. Dalam artikel ini, kami akan memberi tumpuan kepada cara mengalih keluar aksara tertentu di sebelah kiri atau kanan rentetan dalam PHP.

Bagaimana untuk mengekstrak hanya aksara Cina daripada rentetan php Bagaimana untuk mengekstrak hanya aksara Cina daripada rentetan php Sep 22, 2022 pm 07:44 PM

Dua kaedah: 1. Gunakan preg_match_all() untuk menapis rentetan dengan keteraturan, sintaksnya ialah "preg_match_all("/[\x{4e00}-\x{9fff}] /u","$str",$arr);" ; 2. Gunakan preg_replace() dengan rentetan carian biasa untuk mencari huruf bukan Cina dalam rentetan dan menggantikannya dengan aksara kosong Sintaksnya ialah "preg_replace("/[^\x{4E00}-\x{9FFF} ] /u",' ',$str)".

Bagaimana untuk membuang petikan berganda daripada rentetan dalam php Bagaimana untuk membuang petikan berganda daripada rentetan dalam php Mar 28, 2023 pm 04:54 PM

PHP ialah bahasa pengaturcaraan yang sangat popular dan salah satu alat pilihan untuk membina laman web dinamik. Dalam pembangunan PHP, kita selalunya perlu mengendalikan rentetan, dan satu keperluan biasa ialah mengalih keluar petikan berganda daripada rentetan. Dalam artikel ini, kami akan memperkenalkan beberapa kaedah untuk mengalih keluar petikan berganda daripada rentetan PHP.

Adakah mungkin untuk menambah aksara pada rentetan dalam php? Adakah mungkin untuk menambah aksara pada rentetan dalam php? Aug 19, 2022 pm 07:51 PM

PHP boleh menambah aksara pada rentetan. Dua kaedah pelaksanaan: 1. Gunakan penyambung rentetan "." untuk menyambung aksara yang ditentukan ke permulaan atau penghujung rentetan Sintaks ialah "aksara yang ditentukan. rentetan" atau "rentetan. aksara yang ditentukan" 2. gunakan substr_replace. ) fungsi memasukkan aksara yang ditentukan pada kedudukan yang ditentukan dalam rentetan Sintaks ialah "substr_replace(rentetan, aksara yang ditentukan, kedudukan yang ditentukan, 0)".

Bagaimana untuk menukar rentetan kepada format datetime menggunakan PHP Bagaimana untuk menukar rentetan kepada format datetime menggunakan PHP Mar 27, 2023 pm 05:24 PM

PHP ialah bahasa skrip sebelah pelayan yang biasa digunakan yang digunakan secara meluas dalam pembangunan web. Pemprosesan rentetan PHP agak fleksibel, menjadikannya mudah untuk menukar rentetan kepada format tarikh dan masa. Artikel ini akan memperkenalkan cara menggunakan PHP untuk menukar rentetan kepada format tarikh dan masa.

See all articles