Home >Backend Development >PHP Problem >What should I do if the data time displayed in php calls is garbled?
In recent years, with the rapid development of the Internet and computer technology, various website development languages are also emerging, and PHP (Hypertext Preprocessor), as a programming language widely used in the field of Web development, has become a favorite among developers of a language. However, in the process of using PHP to develop a website, you will inevitably encounter some problems. This article will focus on the time display garbled problem that may occur when calling data in PHP, and provide corresponding solutions.
PHP is a server-side language that is often used to process data and interactive operations, so it is necessary to process time in many projects, such as obtaining the current time, converting timestamps to time, etc. In PHP, the date() function is usually used to get the current time. However, when calling time data, sometimes you will find that the time display is garbled. This is caused by the inconsistent time encoding methods of PHP and MySQL.
To solve this problem, you first need to understand the basic concepts of time encoding. In MySQL, time data types include DATE, TIME, DATETIME and TIMESTAMP. Among them, the DATE type represents the date in the format of 'YYYY-MM-DD'; the TIME type represents the time in the format of 'HH:MM:SS'; the DATETIME type represents the time and date in the format of 'YYYY-MM-DD HH:MM: SS' TIMESTAMP type also represents date and time, but its format is UNIX timestamp format, that is, the number of seconds from midnight on January 1, 1970 Greenwich Time to the present, such as '1526713521'. In PHP, the commonly used functions are as follows:
When the time encoding methods of MySQL and PHP are inconsistent, it may cause garbled time display. Therefore, it is necessary to perform corresponding time encoding conversion according to actual needs.
The specific solution is as follows:
$datetime = '2018-05-19 12:30:45';
$ timestamp = strtotime($datetime);
$time = date('Y year m month d day H:i:s', $timestamp);
Among them, $datetime is the time character in MySQL String, $timestamp is the timestamp, $time is the time after formatting.
$db = new mysqli($host, $user, $password, $database);
$stmt = $db->prepare(“SELECT CONVERT(content USING utf8) as content, time FROM news;”);
$stmt->execute();
In this statement, use The CONVERT function converts the content field from the default encoding in the database to UTF-8 encoding.
In short, the problem of garbled characters when calling time data in PHP is essentially because the time encoding methods of PHP and MySQL are inconsistent, so the data format needs to be converted and transcoded. Taking the above method can effectively solve this problem and ensure that the time display is normal.
The above is the detailed content of What should I do if the data time displayed in php calls is garbled?. For more information, please follow other related articles on the PHP Chinese website!