Home >Backend Development >PHP Problem >How to solve the garbled problem of php utf-8
php utf-8 garbled solution: 1. Search in the "my.ini" file and modify the encoding to "utf8"; 2. Set the statement to "mysql_query("set names 'utf8'" );"; 3. Set the default encoding to "utf8" in "Text File Encoding".
Solution to php utf-8 garbled problem
1. When building a database, especially when using phpMyAdmin and When dealing 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 and 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, there is 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 the session, so you must pay attention. Some people develop in eclipse, Myeclipse, ZendStudio. The default in eclipse is ISO-8859-1, which needs to be "Window"->"Preferences" open the "Preferences" window, on the left side "General"->"Workspace", set the default encoding to utf-8
# in "Text File Encoding" ##4. It must be stated in the PHP file: such as 6b2c65d254e5e9a12fcfbb1a8639a948 or The code is as follows:<?php header('Content-Type:text/html;charset=utf-8');?>5. In addition, garbled characters may appear when processing double bytes such as Chinese. PHP can use iconv and mb_convert_encoding to process double bytes. For the rest, please refer to PHP Help Manual6. 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 how the data passed is used. What encoding is provided in PHP to handle it? Here is a simple method I wrote. You can refer to the code as follows:
//编码转换 function display_fileencoding($filename) { if(extension_loaded("mbstring")) { $code=mb_detect_encoding($filename);//检测字符串编码 $filename=mb_convert_encoding($filename,"UTF-8",$code);//将编码$code转换为utf-8编码 return $filename; } else die("请检查系统是否正确安装配置mbstring"); }Make sure that mbstring is in your php. Enable 7 in ini. Just make sure the above codes are consistent! ! The database and web page output will no longer appear garbled. If there is something wrong, please leave a message to point it out! ! For more related articles, please visit
PHP Chinese website!
The above is the detailed content of How to solve the garbled problem of php utf-8. For more information, please follow other related articles on the PHP Chinese website!