Home>Article>Backend Development> How to solve the problem of garbled user information in PHP

How to solve the problem of garbled user information in PHP

藏色散人
藏色散人 Original
2021-12-22 09:12:49 1822browse

Solutions to garbled php user information: 1. Modify the database encoding; 2. Modify the table encoding; 3. Modify the field encoding; 4. Modify the charset of the source file; 5. Modify the page charset; 6. PHP page character set, etc.

How to solve the problem of garbled user information in PHP

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

How to solve the problem of garbled php user information?

Solution to the utf-8 Chinese garbled problem of php mysql

It is recommended that the database use utf8 encoding

Problem summary:

1. The default encoding of MySQL database is utf8. If this encoding is inconsistent with your PHP web page, it may cause mysql garbled code.

2. When creating a table in MYSQL, you will be asked to choose one. Encoding, if this encoding is inconsistent with your web page encoding, it may also cause MYSQL garbled code.

3. You can choose the encoding when adding fields when creating a table in MYSQL. If this encoding is inconsistent with your web page encoding, It may also cause MYSQL garbled characters.

4. If the encoding of the page submitted by the user is inconsistent with the encoding of the page that displays the data, it will definitely cause the php page to be garbled.

5. If the page where the user inputs information is big5 code, the page that displays the user input is gb2312. This will 100% cause the PHP page to be garbled.

6. The character set of the PHP page is incorrect.

7. PHP connection to the MYSQL database statement The specified encoding is incorrect.

If we understand clearly the reasons for garbled characters when using mysql php, then the solution will not be difficult.

Solutions to different problems:

1. The default encoding of mysql database is utf8. If this encoding is inconsistent with your PHP web page, it may cause MYSQL garbled code.

Modify the database encoding, if it is the database encoding Incorrect, you can execute the following command in phpmyadmin:

Alter DATABASE 'test' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

The above command is to set the encoding of the test database to utf8.

2. When creating a table in MYSQL, you will be asked to choose an encoding. If this encoding is inconsistent with your web page encoding, it may also cause MYSQL garbled characters.

Modify the encoding of the table:

Alter TABLE 'category' DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

The above command is to change the encoding of a table category to utf8.

3. You can choose the encoding when adding fields when creating a table in MYSQL. If this encoding is inconsistent with the encoding of your web page, it may also cause MYSQL garbled code.

Modify the encoding of the field:

Alter TABLE 'test' CHANGE 'dd' 'dd' VARCHAR( 45 ) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL

The above command is to change the field encoding of dd in the test table to utf8.

4. If the encoding of the page submitted by the user is inconsistent with the encoding of the page displaying the data, it will definitely cause the PHP page to be garbled.

If this situation is easy to solve, just check the page and modify the charset of the source file.

5. If the page where the user inputs information is big5 code, the page where the user input is displayed is gb2312, this will 100% cause the PHP page to be garbled.

In this case, you can also modify the page charset.

6.The PHP page character set is incorrect.

For To avoid the occurrence of garbled characters on the PHP page, the first sentence of the PHP page is

header("content-type:text/html; charset=utf-8"); //强行指定页面的编码,以避免乱码

7. The encoding specified in the PHP statement to connect to the MYSQL database is incorrect.

In the statement to connect to the database.

mysql_connect('localhost','user','password'); mysql_select_db('my_db'); mysql_query("set names 'utf8'"); //select 数据库之后加多这一句

Recommended learning: "PHP Video Tutorial"

The above is the detailed content of How to solve the problem of garbled user information 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