Home >Backend Development >PHP Tutorial >PHP utf-8 encoding problem, utf8 encoding, database garbled, page display output garbled_PHP tutorial
I have been talking for a long time, but it is a problem that confuses many people. If it is not handled well, it will be garbled. When I say these words, it does not mean that I am proficient in coding, but I have to pay attention to this aspect. I have summarized a little experience. (Places where garbled codes are prone to occur include PHP files, codes stored in databases, page display, and data transmission):
1. When building a database, especially when using phpMyAdmin to deal with MYSQL, it is usually utf-8, and the field is utf8_general_ci
Database settings:
Look in the my.ini file:
[mysql]
default-character-set = utf8
[mysqld]
default-character-set = utf8
init_connect = 'SET NAMES utf8 '
Set all to utf8
Save, restart the mysql service
2. When dealing with data mysql_query("set names 'utf8'"); note: utf8, not utf-8
3. The default encoding of PHP files is ANSI and needs to be converted to UTF-8. As for how to convert, editplus has such a function. When "Save As", there is an option to encode UTF-8. Note: You cannot select: UTF -8 + BOM. If you choose this, you will have problems when processing sessions, so you must pay attention. Some people develop in eclipse, Myeclipse, and ZendStudio. The default in eclipse is ISO-8859-1. , you need to open the "Preferences" window in "Window"->"Preferences", go to "General"->"Workspace" on the left, and set the default encoding to utf-8 in "Text File Encoding"
4. It must be stated in the PHP file: such as
or
6. To add one point (missing point), in your program you need to know that there may be encoding problems when transferring data, but you don’t know what encoding is used for the transferred data. PHP provides methods to handle this. Here is a simple method I wrote. You can refer to it
http://www.bkjia.com/PHPjc/326673.html
www.bkjia.com
true