-- =====================================================
-- VR票务插件 - 乱码修复 SQL
-- 症状：侧边栏显示 `VRç¥¨åŠ¡`（应为 `VR票务`）
-- 根因：plugins 表的 name 字段存储了 UTF-8 字节序列被当作 Latin1 编码
--       `VR票务` 的 UTF-8 字节 \xE5\xA5\x96\xE5\x8A\xA1 被 Latin1 解码为 `ç¥¨åŠ¡`
--
-- 执行方式：在 phpMyAdmin 或 MySQL CLI 中执行
-- 注意：请先备份数据库再执行
-- =====================================================

-- Step 1: 确认乱码状态（应看到 `VRç¥¨åŠ¡`）
-- SELECT `name` FROM `{前缀}plugins` WHERE `identifier` LIKE '%vr_ticket%';

-- Step 2: 修复 plugins 表的 name 字段
-- 使用 BINARY 强制以二进制读取，然后正确转换编码
UPDATE `{前缀}plugins`
SET `name` = CONVERT(BINARY CONVERT(`name` USING latin1) USING utf8mb4)
WHERE `identifier` LIKE '%vr_ticket%'
  AND `name` != 'VR票务';

-- Step 3: 确认修复结果（应显示 `VR票务`）
-- SELECT `name` FROM `{前缀}plugins` WHERE `identifier` LIKE '%vr_ticket%';

-- 同时检查 vrt_power 表（如果有权限配置）
-- Step 4: 检查并修复 vrt_power 表的 name 字段（如果存在且有乱码）
-- UPDATE `{前缀}vrt_power`
-- SET `name` = CONVERT(BINARY CONVERT(`name` USING latin1) USING utf8mb4)
-- WHERE `name` LIKE '%ç¥¨%';

-- =====================================================
-- 原理说明：
-- UTF-8 → Latin1 双重编码的修复：
-- 1. BINARY CONVERT(... USING latin1) — 以 Latin1 重新解读乱码字节
--    `ç¥¨åŠ¡` 的 Latin1 字节 = \xE5\xA5\x96\xE5\x8A\xA1
-- 2. CONVERT(... USING utf8mb4) — 将字节以 UTF-8 解码
--    \xE5\xA5\x96\xE5\x8A\xA1 → `票务` ✓
-- =====================================================
