thinkphp如何批量设置mysql的字符集
发布时间:2024-03-19
|
浏览次数:3134次
描述
思路是首先将项目的数据库设置成想要的字符集,再使用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); } } }