thinkphp如何批量设置mysql的字符集
发布时间:2024-03-19
|
浏览次数:3589次
描述
思路是首先将项目的数据库设置成想要的字符集,再使用Db::getTables获取到所有的数据表,循环数据表然后使用Db::execute执行设置为想要的字符集
详情
以下代码演示了如何将一个项目的数据表,批量设置成自己想要的字符集。
<?php
namespace app\test\controller;
use app\index\common\Base as BaseController;
use think\facade\Db;
class Index extends BaseController
{
public function index()
{
$tables = Db::getTables();
$database_name = 'qianhong';
$sql = "ALTER DATABASE ".$database_name." CHARACTER SET utf8 COLLATE utf8_general_ci";
$res = Db::execute($sql);
foreach ($tables as $table) {
$sql = "ALTER TABLE $table CONVERT TO CHARACTER SET utf8 COLLATE utf8_general_ci";
$res = Db::execute($sql);
}
}
}
