When using PHP to write to the MySQL database, sometimes garbled characters appear after the data is inserted. There may be many reasons for garbled characters, such as character set mismatch, non-UTF-8 character set, database connection character set, etc. Let's analyze these possible causes of garbled characters and provide some solutions.
1. Character set mismatch
When the PHP code uses a character set that is different from the default character set of the MySQL database, garbled characters may occur.
Solution: Use the MySQL SET NAMES command in the code to force the character set to be specified. For example:
mysql_query("SET NAMES 'utf8'");
2. Non-UTF-8 character set
If the PHP code uses a non-UTF-8 character set, but the MySQL database and table use the UTF-8 character set, then Garbled characters may occur.
Solution: Set the character set of both the PHP code and the MySQL database and table to UTF-8.
3. Database connection character set
When establishing a database connection, if the connection character set is not explicitly specified, the MySQL default character set will be used, resulting in garbled characters.
Solution: When connecting to the database, use the mysqli_set_charset() function to manually specify the connection character set. For example:
$mysqli = new mysqli("localhost", "username", "password", "database"); $mysqli->set_charset("utf8");
4. Front-end form submission problem
Sometimes garbled characters may appear because the character set is not specified when the front-end form is submitted, resulting in character set mismatch.
Solution: Use the tag in the HTML header of the front-end page to specify the character set, for example:
Summary
Appears after encountering PHP writing to MySQL The problem of garbled characters can be investigated and solved from the above four angles. When writing code, we should follow the principle of a unified character set to avoid garbled characters. At the same time, you should also check repeatedly in actual applications to ensure that the data is correctly written into the database.
The above is the detailed content of How to solve garbled data inserted into mysql by php. For more information, please follow other related articles on the PHP Chinese website!