php自动获取字符串编码的函数mb_detect_encoding
当在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); }
这段代码的作用是检测字符串的编码是否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');
三个参数分别是:被检测的输入变量、编码方式的检测顺序(一旦为真,后面自动忽略)、strict模式
对编码检测的顺序进行调整,将最大可能性放在前面,这样减少被错误转换的机会。
一般要先排gb2312,当有GBK和UTF-8时,需要将常用的排列到前面。

Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

Notepad++7.3.1
Easy-to-use and free code editor

SublimeText3 Chinese version
Chinese version, very easy to use

Zend Studio 13.0.1
Powerful PHP integrated development environment

Dreamweaver CS6
Visual web development tools

SublimeText3 Mac version
God-level code editing software (SublimeText3)

Hot Topics



In PHP, you can use the ord() function to convert characters into ascii code. This function can return the ASCII value of a single character or the first character in a string. The returned ASCII value will be displayed in integer form; the conversion syntax "ord (string)", the parameter "string" cannot be omitted, it is the string (or single character) from which the ASCII value is to be obtained.

There are two ways to replace a certain character with a null character in a PHP string: 1. Use the str_replace() function to replace the specified character with a null character. You only need to set the first parameter to the specified character and the second parameter to a null character. Syntax "str_replace("specified character","", $str)"; 2. Use the preg_replace() function with regular expressions to match the specified character and replace it with the null character, syntax "preg_replace('/specified character/', "",$str)".

Two removal methods: 1. Use preg_replace() to execute a regular expression to search for all uppercase letters and replace them with null characters. The syntax is "preg_replace('/[A-Z]/','',$str)". 2. Use preg_filter() to execute a regular expression to search for all uppercase letters and replace them with empty characters. The syntax is "preg_filter('/[A-Z]/','',$str)".

PHP is a typed programming language that is often used to develop web applications. During web development, you may need to perform various operations on strings, such as removing specific characters from a string, retaining numbers or letters in a string, etc. In this article, we will focus on how to remove specific characters on the left or right side of a string in PHP.

Two methods: 1. Use preg_match_all() with regular filter strings, the syntax is "preg_match_all("/[\x{4e00}-\x{9fff}]+/u","$str",$arr);" ; 2. Use preg_replace() with regular search for non-Chinese letters in the string and replace them with empty characters. The syntax is "preg_replace("/[^\x{4E00}-\x{9FFF}]+/u" ,'',$str)".

PHP is a very popular programming language and one of the preferred tools for building dynamic websites. In PHP development, we often need to operate strings, and one common requirement is to remove double quotes from strings. In this article, we will introduce some methods to remove double quotes from PHP strings.

PHP can add characters to strings. Two implementation methods: 1. Use the string connector "." to splice the specified character to the beginning or end of the string. The syntax is "specified character. string" or "string. specified character"; 2. use substr_replace The () function can insert the specified character at the specified position of the string. The syntax is "substr_replace(string, specified character, specified position, 0)". The value at the specified position can be 0, negative or positive.

PHP is a commonly used server-side scripting language that is widely used in web development. PHP's processing of strings is quite flexible, making it easy to convert strings into date and time format. This article will introduce how to use PHP to convert a string into date and time format.
