Home > Article > Backend Development > How to solve the problem of garbled characters in php
Solution to some garbled characters in php: 1. Use Dreamweaver to create a new file; 2. Set the character set to utf8 in mysql; 3. Write "content="text/html" at the beginning of index.php ; charset=utf-8".
The operating environment of this article: Windows 7 system, PHP version 7.1, DELL G3 computer
Solution to some of the garbled code problems in PHP
Today I finally started to write a complete web template system by myself. I started from scratch. In the past, when making websites, I downloaded a template from the Internet. Then I modified the page and some dynamic codes, and then it was ok, but today is different, I started from scratch, so this is my graduation project, haha, no way, the title of my graduation project is "Corporate website based on PHP technology" Template Design", so I started writing some test classes of MVC today. Of course, I first downloaded an MVC guestbook instance based on PHP from the Internet. This instance has 6 program files: index.php program entry, notebook.htm message form, and then create a new folder, which contains three files: Model.php, View.php, and Controller to implement the three functions of MVC respectively, and a DataAccess.php (which is a simple database access class). At first, I passed The system right-clicks on the new text file to create a new php file. Beginners need to be reminded not to create php files like this, because it will cause garbled Chinese characters. The correct method is to create a new one through Dreamweaver, and then "Edit" in the navigation menu -> ;"Preferred Parameters"->"New Document", set the default encoding to "Unicode (UTF-8)" and remove the checkbox of "Include Unicode Signature (BOM)" to solve the problem when calling the php class , when the return method needs to be used in the class to return to the static page, if you do not follow the above method, garbled codes may appear;
Garbled code problem:
1. When index.php calls the method of View.php, garbled characters appear when getting Chinese. The solution is to use Dreamweaver to create a new one. Follow the above operations to solve the garbled code problem;
2. Because I use It is the character set of utf-8, so mysql must also be set to the utf8 character set. For example, the connection proofreading of mysql is: utf8_general_ci, and the character set of the fields in the table is utf8_unicode_ci. At the beginning of index.php, write e487370a058720f3593d960fb2d8f75b, and then in DataAccess.php as shown below:
<?php class DataAccess { var $link_id; //用于存储数据库连接 var $query_id; //用于存储查询源 //! 构造函数. function __construct($host,$user,$pass,$db) { $this->link_id=mysql_pconnect($host,$user,$pass); //连接数据库服务器 mysql_select_db($db,$this->link_id); //选择所需数据库 mysql_query("SET NAMES 'utf8' ",$this->link_id); } function query($sql) { $this->query_id=mysql_unbuffered_query($sql,$this->link_id); // Perform query here if ($this->query_id) return true; else return false; } function fetchRows($sql) { $this->query($sql); $arr=array(); $i=0; while( $row=mysql_fetch_array($this->query_id,MYSQL_ASSOC) ) { $arr[$i]=$row; $i++; } return $arr; } } ?>
Follow the above operation. It can solve the problem that the data read from mysql will not appear garbled.
[Recommended learning: PHP video tutorial]
The above is the detailed content of How to solve the problem of garbled characters in php. For more information, please follow other related articles on the PHP Chinese website!