Home >Backend Development >PHP Tutorial >Detailed explanation on the usage of php iconv function

Detailed explanation on the usage of php iconv function

WBOY
WBOYOriginal
2016-07-25 08:58:581262browse
  1. extension_dir = "C:/ipaddr/php/extensions/"
Copy code

(Note, it is recommended to write the full address and add / after it. Many times it is because the settings here are incorrect. As a result, dlls of other modules cannot be loaded) Open it again:

  1. extension=php_gd2.dll
Copy code

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 following iconv file for Windows version: libiconv-1.9.1.bin.woe32.zip Unzip the file and copy charset.dll, iconv.dll, and iconv.exe under bin/ to c:/windows/ (or other system PATH) (This step is necessary, php_iconv.dll also calls GNU’s iconv library, so you must first install GNU’s iconv library)

b. Open php_iconv.dll in php.ini

c. Restart Apache, and then check whether iconv is enabled in phpinfo();.

In a recent program, I needed to use the iconv function to convert the captured utf-8 encoded page into gb2312. I found that only by using the iconv function to transcode the captured data, the data would be less for no reason. . This is a bug in the iconv function. iconv will make an error when converting the character "-" to gb2312.

Solution: Add "//IGNORE" after the encoding that needs to be converted, which is the second parameter of the iconv function. As follows:

  1. iconv("UTF-8","GB2312//IGNORE",$data)
Copy code

ignore means ignoring errors during conversion. If there is no ignore parameter, all the The string following the character cannot be saved.

This iconv() function is built-in in php5. Let’s look at a complete example, as follows:

  1. //iconv usage example

  2. //by bbs.it-home.org
  3. echo $str= 'Hello, we sell coffee here!';
  4. echo '
    ';

  5. echo iconv('GB2312', 'UTF-8', $str); //Convert the string encoding from GB2312 to UTF-8

  6. echo '
    ';

  7. echo iconv_substr($str, 1, 1, 'UTF-8'); //Truncate by the number of characters instead of bytes

  8. print_r(iconv_get_encoding()); //Get the current page encoding information

  9. echo iconv_strlen($str, 'UTF-8'); //Get the string length of the set encoding

  10. //You can also do this

  11. $content = iconv("UTF-8","gbk//TRANSLIT",$content);
  12. ?>

Copy code


Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn