Home >Backend Development >PHP Tutorial >Detailed explanation of the use of php iconv function_PHP tutorial
To install the PHP module under unix, you need to recompile PHP. To install the template under Windows, you only need to open the corresponding dll according to the configuration in php.ini. For example, if you need to add support for the gb library, you need the following settings:
extension_dir = "C:/ipaddr/php/extensions/"
(Note, it is recommended to write the full address and add / after it. Many times it is because the setting here is incorrect, which leads to the failure to load. dll of other modules)
and then open
extension=php_gd2.dll
But if iconv.dll is installed, follow the above method and after opening php_iconv.dll, the iconv module still cannot be opened. The following configuration is required:
a. Go to the official download site of iconv
http://ftp.gnu.org/pub/gnu/libiconv/
The Windows version of iconv below File: libiconv-1.9.1.bin.woe32.zip
Unzip this file and copy charset.dll, iconv.dll, and iconv.exe under bin/ to c:/windows/ (or other system PATH (medium)
(ipaddr reminds you that this step is necessary. php_iconv.dll also calls the GNU iconv library, so you must first install the GNU iconv library)
b. Open php_iconv.dll in php.ini
c. Restart Apache, and then check whether iconv is enabled in phpinfo();.
I am currently working on a program that needs to use the iconv function to convert the captured utf-8 encoded pages into gb2312. I found that I can only use the iconv function to transcode the captured data. The data will be less for no reason. I was depressed for a while. After checking the information on the Internet, I found out that this was a bug in the iconv function. iconv will make an error when converting the character "—" to gb2312
The solution is very simple, that is, add "//IGNORE" after the encoding that needs to be converted, that is, after the second parameter of the iconv function. As follows:
The following The quoted content:
iconv("UTF-8","GB2312//IGNORE",$data)
ignore means ignoring errors during conversion. If there is no ignore parameter, All strings following this character cannot be saved.
The iconv() function is built-in in php5. Thank you.
Liezi
echo iconv('GB2312', 'UTF-8', $str); //Convert the string encoding from GB2312 to UTF-8
echo '
';
echo iconv_substr($str, 1, 1, 'UTF-8'); //Truncate by the number of characters instead of bytes
print_r(iconv_get_encoding()); //Get the encoding information of the current page
echo iconv_strlen($str, 'UTF-8'); //Get the string length of the set encoding
//This is also used
$content = iconv("UTF-8","gbk//TRANSLIT",$content);
?>