Home  >  Article  >  Backend Development  >  How to solve the garbled problem of php utf-8

How to solve the garbled problem of php utf-8

藏色散人
藏色散人Original
2020-07-09 12:16:534364browse

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".

How to solve the garbled problem of php utf-8

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(&#39;Content-Type:text/html;charset=utf-8&#39;);?>

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 Manual

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 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!

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