php Mysql Chinese garbled solution: 1. Set the encoding for the head of the web page file; 2. Save the PHP page using utf-8 encoding when saving; 3. When creating a new database in MYSQL, select UTF for the database -8 encoding.
Recommended: "PHP Video Tutorial"
Solutions to common php and mysql Chinese garbled problems
Garbled code problem: Chinese characters in the database are normal, and the web page is not garbled
Using PHPmyAdmin to operate the MySQL database Chinese characters display normally, but when using PHP web pages to display MySQL data, all Chinese characters turn into ? signs.
Symptoms:
It is normal to input Chinese characters using PHPmyAdmin, but when the PHP web page displays MySQL data, the Chinese characters become ? signs, and there are as many ? signs as there are Chinese characters.
Reason:
There is no code in the PHP web page to tell MySQL what character set to use to output Chinese characters.
Solution:
1. Web page file head setting encoding
2. When saving the PHP page, use UTF-8 encoding. You can use Notepad or convertz802 to convert the file.
3. When creating a new database in MYSQL, select UTF-8 encoding for the database. The character set is set to utf-8_unicode_ci (Unicode (multi-language), case-insensitive), and the collation of the table in the library is set to utf-8_general_ci
The collation of each field in the table is set to utf-8_general_ci
4. When connecting to the database in PHP, that is, add
//设置数据的字符集utf-8 mysql_query("set names 'utf8' "); mysql_query("set character_set_client=utf8"); mysql_query("set character_set_results=utf8");
after mysql_connect(). Note that it is utf8, not utf-8.
The above four points can achieve utf-8 encoding for the entire site, and there will be no Chinese garbled characters in the database.
Garbled code problem: Database garbled code
An error occurred when entering data with PHPmyAdmin, the input is not allowed or garbled code appears
Solution:
This is a setting problem . Please install the latest version of PHPmyAdmin or Appserv, open PHPmyAdmin, MySQL character set: UTF-8 Unicode (utf8); MySQL connection proofreading should be utf8_unicode_ci; when creating a new database, please also select utf8_unicode_ci in the finishing column. It is also best to use UTF-8 as the web page character set. UTF-8 is an international standard encoding and a trend.
Garbled code problem: local normal, remote garbled code
The MySQL data table developed on this machine is normal when tested on this machine, but problems occur when uploading using PHPmyAdmin provided by the website space provider ,upload failed. Especially using foreign PHP space.
Solution:
First check the PHPmyAdmin character set settings provided by the website space provider, and make sure that the data table you build has the same encoding as that of the service provider. MySQL does not support gb2312 abroad, and even the latest version of Apache does not support gb2312. If it is because the encoding is not uniform, you can rebuild the data table, of course using the international standard UTF8.
The above is the detailed content of Solution to php mysql Chinese garbled problem. For more information, please follow other related articles on the PHP Chinese website!