What to do if UTF-8 Chinese garbled characters are displayed in PHP

小老鼠
Release: 2023-05-20 11:37:01
Original
3503 people have browsed it

Solution to display UTF-8 Chinese garbled characters in PHP: 1. Add "header("content-type:text/html;charset=utf-8");" at the top of the PHP file; 2 , use the "mysql_connect" function to connect to the database, and then execute the "mysql_query('SET NAMES UTF8');" statement to change the encoding to UTF8.

What to do if UTF-8 Chinese garbled characters are displayed in PHP

Operating system for this tutorial: Windows 10 system, PHP version 8.1, Dell G3 computer.

The reasons why PHP displays utf-8 Chinese garbled characters

#1. Inconsistent character set encoding often causes garbled characters The main reason is that there is a problem with the encoding format. In the process of writing PHP code, developers need to pay attention to the format of the code file itself. For example, Overpass needs to be set to UTF-8 format. If it is not set or set incorrectly, it will cause garbled characters in the output of the PHP program.

In addition, when using database queries, form submissions and other operations in PHP programs, you also need to pay attention to whether the character set encoding of the database and web pages is unified, otherwise it will also cause the problem of garbled Chinese characters.

2. Browser display problem

The garbled code problem may also be caused by the browser. When the browser encoding method is inconsistent with the web page encoding method, Chinese garbled code problems will also occur. . At this point, developers can try to change the browser's encoding to solve the problem.

3. Wrong output method

In PHP programs, if the wrong method is used to output content, the problem of Chinese garbled characters will also occur. Common error output methods include using echo, print, print_r, var_dump and other output functions. These functions are not processed when outputting Chinese, so garbled characters are prone to occur.

Solution to UTF-8 Chinese garbled characters displayed in PHP

1: HTML and PHP mixed page solution

How to mix HTML and PHP, in addition to following the operations mentioned in the first method, you also need to add this code at the top of the PHP file:

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
  
?>
Copy after login

2: Pure The Chinese garbled code problem on the PHP page (the data is static)

If your PHP page has garbled Chinese characters, you only need to add the following code at the beginning of the page.

<?php
header("content-type:text/html;charset=utf-8");  //设置编码
?>
Copy after login

Three:PHP Mysql Chinese garbled codeProblem

In addition to following the third operation, you also need to add database encoding before querying/modifying/adding your data. Moreover, it is worth noting that the UTF8 here is different from the previous one, there is no horizontal line in the middle.

Read and write the database with PHP

After connecting to the database:

[hide]$connection = mysql_connect($host_name, $host_user, $host_pass);
Copy after login

Add two lines:

mysql_query("set character set &#39;utf8&#39;");//读库
mysql_query("set names &#39;utf8&#39;");//写库
Copy after login

Then you can read and write the MYSQL database normally.

<?php
 mysql_query(&#39;SET NAMES UTF8&#39;);
 //接下来的就是查出数据或者修改,增加
?>
Copy after login

UTF-8 encoding is just one of the encodings. If you don’t want to use utf-8 encoding, you can also use other encodings. Just replace UTF-8 with the encoding you want to use. Currently, the Chinese website The two encodings mainly used in development are GB2312 and UTF-8.

One thing to note: the mysql_query("set names 'coding'"); encoding added before the PHP program that needs to perform database operations must be consistent with the PHP encoding. If the PHP encoding is gb2312, then the mysql encoding It is gb2312. If it is utf-8, then the mysql encoding is utf8, so that there will be no garbled characters when inserting or retrieving data.

The above is the detailed content of What to do if UTF-8 Chinese garbled characters are displayed 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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!