MySQL和PHP页面同时正确显示中文 & PHP date函数的用法

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云数据库 RDS MySQL,高可用系列 2核4GB
简介:

记录下项目遇到的问题和解决方法。

1. 显示中文

在PHP页面显示的时候,我们通常需要在开头加入下面的代码来让我们的页面能正确显示中文:

<pre name="code" class="html"><meta content = text/html; charset=UTF-8 http-equiv = Content-Type>

 
是的,让页面显示UTF-8, 这样我们在写诸如此类的php代码时 

echo '哈哈哈';
就能正确的在页面上显示中文了。

但是这样会有一个问题,我们存储到数据库时,如果直接写入中文,会导致在数据库里面看起来是这样的:


这样虽然你从PHP页面上打印出来的内容是争取的,可是如果你直接查看数据库的话,就不懂是什么内容了。

同样的,如果你在数据库里面输入的是能看懂的GBK编码的中文,如果用页面打印就变成了这样


那到底改怎么办?我们想要找到一种方法,要同时满足:

1. 通过php代码 echo直接可以打印出来中文

2. 在数据库里面显示的是能看懂的中文

3. 读取数据库到页面显示时也是能看懂的中文


毫无疑问,要想满足第1条,那么我们在开头毫无疑问要加入:

<meta content = text/html; charset=UTF-8 http-equiv = Content-Type>

那如何将UTF-8编码的中文存储到数据库后我们可以看懂呢?这里就需要进行两次转换了,UTF-8和GBK之间的转换了。

在我们从页面的内容(UTF-8编码)存到数据库(GBK)时和从数据库(GBK)读出到页面(UTF-8)

我们只需要用到这个函数:

iconv()


想要了解关于这个函数更多的内容请点击:


PHP:iconv- Manual


所以,我们在输入到数据库时,进行下列的转换:


同理,如果是从数据库读出来到页面,我们就进行gbk到utf-8的转换。



2. PHP:date()函数


date函数是用来从时间戳换算成我们想要的日期格式然后打印出来,这里主要记录一下各个单词代表的含义:

参数如下:
a - "am" 或是 "pm" 
A - "AM" 或是 "PM" 
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" 
D - 星期几,三个英文字母; 如: "Fri" 
F - 月份,英文全名; 如: "January" 
h - 12 小时制的小时; 如: "01" 至 "12" 
H - 24 小时制的小时; 如: "00" 至 "23" 
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" 
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" 
i - 分钟; 如: "00" 至 "59" 
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" 
l - 星期几,英文全名; 如: "Friday" 
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" 
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" 
M - 月份,三个英文字母; 如: "Jan" 
s - 秒; 如: "00" 至 "59" 
S - 字尾加英文序数,二个英文字母; 如: "th","nd" 
t - 指定月份的天数; 如: "28" 至 "31" 
U - 总秒数 
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) 
Y - 年,四位数字; 如: "1999" 
y - 年,二位数字; 如: "99" 
z - 一年中的第几天; 如: "0" 至 "365" 
如果显示的时间与系统不一致,就要改PHP.ini配置文件。
系统默认是UTC时间 
可以打开php.inc 
设置   date.timezone = PRC

所以,如果我们想要输出例如  2015年05月27日 15:45格式的时间,我们就需要这样写:

echo date('Y年m月j日, H:i', $suggestions['suggestion_time']);

想要输出其他格式的,参照上面的各个参数就好了!


相关实践学习
如何在云端创建MySQL数据库
开始实验后,系统会自动创建一台自建MySQL的 源数据库 ECS 实例和一台 目标数据库 RDS。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助 &nbsp; &nbsp; 相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
21天前
|
JSON 关系型数据库 MySQL
Mysql(5)—函数
MySQL提供了许多内置的函数以帮助用户进行数据操作和分析。这些函数可以分为几类,包括聚合函数、字符串函数、数值函数、日期和时间函数、控制流函数等。
63 1
Mysql(5)—函数
|
2月前
|
PHP
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
本文介绍了解决PHP常见问题的步骤,包括定位和创建`php.ini`文件,以及解决`mb_strlen()`函数未定义和DLL模块加载错误的具体方法。
php常见问题,php.ini文件不存在或者找不到,mb_strlen()函数未定义系列问题,dll模块找不到的解决
|
2月前
|
JavaScript 前端开发 安全
php学习笔记-普通表单参数提交获取及页面的重定向和一个登录小demo-day05
本文介绍了PHP中普通表单参数的提交获取、页面重定向的方法,并通过一个登录示例演示了表单参数的封装和页面跳转处理。
|
2天前
|
关系型数据库 MySQL Serverless
MySQL函数
最常用的MySQL函数,包括聚合函数,字符串函数,日期时间函数,控制流函数等
|
2月前
|
存储 API PHP
php学习笔记-php数组的创建和使用,数组常用函数-day03
关于PHP数组的创建、使用以及常用函数的详细学习笔记。
php学习笔记-php数组的创建和使用,数组常用函数-day03
|
5天前
|
SQL NoSQL 关系型数据库
|
30天前
|
存储 SQL 关系型数据库
MySQL 存储函数及调用
MySQL 存储函数及调用
27 3
|
1月前
|
缓存 关系型数据库 MySQL
MySQL 满足条件函数中使用查询最大值函数
MySQL 满足条件函数中使用查询最大值函数
93 1
|
1月前
|
Unix PHP 数据库
PHP日期和时间Date()函数获取当前时间
通过灵活运用 `date()`函数及其丰富的格式选项,PHP开发者可以轻松地在应用程序中处理和展示日期及时间信息。无论是需要精确到秒的完整时间戳,还是仅仅展示日期或时间的某一部分,`date()`函数都能胜任。理解并熟练应用这些格式化技巧,对于提升代码的可读性和维护性至关重要。
31 1
|
16天前
|
关系型数据库 MySQL 数据库
mysql中tonumber函数使用要注意什么
在处理这类转换操作时,考虑周全,利用提供的高性能云服务器资源,可以进一步提升数据库处理效率,确保数据操作的稳定性和安全性,尤其是在处理大量数据转换和运算密集型应用时。
58 0