Home >Backend Development >PHP Problem >How to convert string to utf8 in php

How to convert string to utf8 in php

藏色散人
藏色散人Original
2021-05-11 09:29:192714browse

php method to convert a string to utf8: first create a PHP sample file; then directly use "iconv('GB2312', 'UTF-8', $str);" to convert the string encoding from Just convert GB2312 to UTF8.

How to convert string to utf8 in php

The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer

PHP converts the string from GBK to UTF8 through iconv Character set

1. Introduction to iconv()
The iconv function can convert a known character set file into another known character set file. For example: Convert from GB2312 to UTF-8.
iconv function is built in php5, and the GB character set is turned on by default.
2. iconv() error
iconv will make an error when converting the character "-" to gb2312. The solution is to add "//IGNORE" after the encoding that needs to be converted, which is the second parameter of the iconv function. After. As follows:

The code is as follows:

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.
3. iconv() example
Example 1:

The code is as follows:

<?php 
  echo $str= ‘你好,这里是卖咖啡!&#39;; 
  echo &#39;<br />&#39;; 
  echo iconv(&#39;GB2312&#39;, &#39;UTF-8&#39;, $str); //将字符串的编码从GB2312转到UTF-8 
  echo &#39;<br />&#39;; 
  echo iconv_substr($str, 1, 1, &#39;UTF-8&#39;); //按字符个数截取而非字节 
  print_r(iconv_get_encoding()); //得到当前页面编码信息 
  echo iconv_strlen($str, &#39;UTF-8&#39;); //得到设定编码的字符串长度 
?>

Example 2:
If your PHP file is UTF-8 encoded , then the following code can be output correctly:

The code is as follows:

<?php 
  $str=&#39;我爱百度&#39;; 
  $utf=&#39;&#39;; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>

If your PHP file is GB, then the following code can work:

The code is as follows:

<?php 
  $str=&#39;我爱百度&#39;; 
  $str=iconv("GBK", "UTF-8", $str); 
  $utf=&#39;&#39;; 
  for ($i=0;$i<strlen($str);$i++) $utf.=sprintf("%%%02X",ord(substr($str,$i,1))); 
  echo $utf; 
?>

In the above case, the program output is:
我爱百度

Recommended learning: "PHP Video Tutorial

The above is the detailed content of How to convert string to utf8 in php. For more information, please follow other related articles on the PHP Chinese website!

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