MySQL和PHP页面同时正确显示中文 & PHP date函数的用法
2015-05-27 11:25
246 查看
记录下项目遇到的问题和解决方法。
是的,让页面显示UTF-8, 这样我们在写诸如此类的php代码时
但是这样会有一个问题,我们存储到数据库时,如果直接写入中文,会导致在数据库里面看起来是这样的:
这样虽然你从PHP页面上打印出来的内容是争取的,可是如果你直接查看数据库的话,就不懂是什么内容了。
同样的,如果你在数据库里面输入的是能看懂的GBK编码的中文,如果用页面打印就变成了这样
那到底改怎么办?我们想要找到一种方法,要同时满足:
1. 通过php代码 echo直接可以打印出来中文
2. 在数据库里面显示的是能看懂的中文
3. 读取数据库到页面显示时也是能看懂的中文
毫无疑问,要想满足第1条,那么我们在开头毫无疑问要加入:
那如何将UTF-8编码的中文存储到数据库后我们可以看懂呢?这里就需要进行两次转换了,UTF-8和GBK之间的转换了。
在我们从页面的内容(UTF-8编码)存到数据库(GBK)时和从数据库(GBK)读出到页面(UTF-8):
我们只需要用到这个函数:
iconv()
想要了解关于这个函数更多的内容请点击:
PHP:iconv- Manual
所以,我们在输入到数据库时,进行下列的转换:
同理,如果是从数据库读出来到页面,我们就进行gbk到utf-8的转换。
所以,如果我们想要输出例如 2015年05月27日 15:45格式的时间,我们就需要这样写:
想要输出其他格式的,参照上面的各个参数就好了!
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']);
想要输出其他格式的,参照上面的各个参数就好了!
相关文章推荐
- 如何让Zend Studio正确显示php页面中的中文字符
- phpmyadmin显示数据库中文正确php页面输出??乱码的解决方法
- 连接mysql server 5.0 数据库的乱码问题,utf8编码,中文正确显示
- php中文乱码问题以及页面显示部分后台代码问题
- [PHP]页面中文显示乱码
- flash + amfphp + mysql 显示中文解决方法
- php中文乱码问题以及页面显示部分后台代码问题
- MySQL与php网页中显示的中文字符不一致问题
- php+MySQL实现登录时去数据库校验用户输入的登录名和密码是否正确。。。(session的用法)
- 从数据库调出数据显示到页面 PHP+Mysql+Html(简单实例)
- 关于php+mysql中文显示为问号的解决方法
- php调用mysql中文时显示乱码的解决方法
- php中文乱码问题以及页面显示部分后台代码问题
- php中文乱码问题以及页面显示部分后台代码问题
- php调用mysql,中文显示??怎么办
- php+mysql中文显示乱码解决
- php中文乱码问题以及页面显示部分后台代码问题
- PHP显示MySQL查询结果时中文问号
- ubuntu安装lamp&&mysql中修改配置文件显示中文&&强大的vim配置&&c++连接Mysql
- 关于ExtJs4提交数据到jsp页面,返回正确的json显示例子。及error:You're trying to decode an invalid JSON String...解决方法