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

How to convert string to utf8 in php

藏色散人
Release: 2023-03-09 15:32:01
Original
2717 people have browsed it

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)
Copy after login

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;); //得到设定编码的字符串长度 
?>
Copy after login

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; 
?>
Copy after login

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; 
?>
Copy after login

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!

Related labels:
php
source:php.cn
Statement of this Website
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
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template