Home > Article > Backend Development > How to use iconv function in php_php skills_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. In many cases, the dll of other modules cannot be loaded because the settings here are incorrect)
Open it again
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 the iconv file below: 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)
(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();.
Recently I was working on a program that needed to use the iconv function to convert the captured utf-8 encoded pages into gb2312. I found that only by using the iconv function to transcode the captured data, the data would 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, just add "//IGNORE" after the encoding that needs to be converted, which is the second parameter of the iconv function. As follows:
The following is the quoted content:
iconv("UTF-8","GB2312//IGNORE",$data)
Ignore means to ignore errors during conversion. Without the ignore parameter, all strings following this character cannot be saved.
This iconv() function is built-in in php5. Thank you.
Lie Zi
echo $str= 'Hello, we sell coffee here!';
echo '
';
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 current page encoding information
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);
?>