PHP开发中bcscale timezone charset的设定

关于php的开发,有几个细节设定,
需要知悉下:
在项目的init.php 或 index.php 或 api.php
1. bcscale(18);
表示bc函数,默认小数点位数。
没有设定的话,默认为0,表示整数结果处理。
会出现bcadd ,bcsub 等 截取值为整数。
之前有log出现后台强制放币时,balance值计算不对

2. date_default_timezone_set("Asia/Shanghai");
表示php处理时的时区设定
没有设定的话,默认为0时区,(或者有php的ini中配置)
上面设定的是东八区 上海
(该值后续有空时,会统一为0时区 ,mysql数据库也会修订为0时区,
页面栏位的时间再显示由页面根据本机时区再计算)

3. 'charset' => 'utf8mb4',
项目中php通过laravel 操作数据库,
相关传值的编码格式
$capsule = new \Illuminate\Database\Capsule\Manager;
$capsule->addConnection([
"driver" => 'mysql',
"host" => getenv("DB_HOST"),
"port" => getenv("DB_PORT"),
"database" => getenv("DB_DATABASE"),
"username" => getenv("DB_USERNAME"),
"password" => getenv("DB_PASSWORD"),
'charset' => 'utf8mb4',
]);
不设定该值时,前台页面输入的中文,存入mysql表后是乱码

posted on 2019-01-11 14:15  freeliver54  阅读(480)  评论(0编辑  收藏  举报

导航