Home >Backend Development >PHP Tutorial >How to solve the problem of garbled Chinese characters output from PHP?

How to solve the problem of garbled Chinese characters output from PHP?

青灯夜游
青灯夜游Original
2019-05-17 19:09:5816802browse

How to solve the problem of garbled Chinese characters output from PHP?

When we build a website, we will find that the PHP page output is garbled, and the PHP database field output is also garbled. How to solve this? The following article will introduce to you how to solve the problem of garbled Chinese characters output by PHP. I hope it will be helpful to you.

The first, HTML and PHP mixed page solution

Method 1: Use tag

If it is embedded in HTML PHP code, you can use <meta charset="UTF-8"> to solve the Chinese garbled problem

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title>php输出中文乱码</title>
	</head>

	<body>
		<div class="demo">

			<?php
			echo "php中文网!";
			?>
		</div>

	</body>

</html>

Method 2: Use the header() function

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");         //设置编码
?>

The second type is the problem of Chinese garbled characters in pure PHP pages (the data is static)

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

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

The third type, PHP Mysql Chinese garbled problem

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.

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

If you are using MySQL version 4.1 or higher, you can set a character encoding after the link database operation, like the following

How to solve the problem of garbled Chinese characters output from PHP?

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, it is mainly used in Chinese website development. There are two encodings: GB2312 and UTF-8.

One thing to note is that 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 mysql The encoding 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 How to solve the problem of garbled Chinese characters output from 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