2301_82001053 2024-05-17 09:35 采纳率: 0%
浏览 5

在数据表里添加数据的时候输入不了汉字

在创建了数据库、数据表之后添加不了中文数据。

img


刚开始我以为是默认字符集的问题,因此做了如下步骤 但还是不行。

img


所以是哪的问题啊,求各位帮帮我

  • 写回答

3条回答 默认 最新

  • 阿里嘎多学长 2024-05-17 09:35
    关注

    以下内容由CHATGPT及阿里嘎多学长共同生成、有用望采纳:


    您想要解决的问题

    您想要解决的问题是在MySQL数据库中添加中文数据时遇到的问题。您在尝试插入包含中文的数据时,遇到了错误提示,导致无法成功添加中文数据。

    图片内容

    1. 第一张图片显示了您尝试插入中文数据时遇到的错误:

      mysql>insert into s walues(王',sl',21,大数据,2,'man):
      ERROR 1366 (HY000): Incorrect string.value:xCDixF5' for columm'sn' at row 1
      

      这里的错误提示表明在尝试插入数据时,字符串值存在问题。

    2. 第二张图片显示了您尝试设置字符集的步骤,以及另一个插入操作的结果:

      mysql> set character set client=utf8:
      Query Ok, 0 raws affected, 1 warning (o.o0 sec)
      mysql> set character set connection=utf8:
      Query OK, 0 rows affected, 1 warning (0.o0 sec)
      mysql> set character set results=utf8:
      Query Ok,0 rows affected, 1 warning (o.00 sec)
      mysql> set character set server=utf8:
      Query OK, 0 rows affected, 1 warning (0.00 sec)
      mysql> set character set system=utf8
      ERROR 1238 (HY000): Variable,character set System is a read only variable
      mysql> insert into svalues(王,s2,20,大数据,2,woman')
      ERROR 1366 (HY000): Incorrect string
      xcDixF5'for columm  sn' at row 1
      

      这里的错误提示与第一张图片中的错误相同,表明问题仍然存在。

    问题出现原因

    问题出现的原因是MySQL数据库的字符集设置不正确,导致无法正确处理中文字符。您尝试设置字符集,但是可能没有正确设置数据库或数据表的默认字符集。

    问题解决方案

    为了解决这个问题,您需要确保数据库和数据表的字符集都设置为支持中文的字符集,如utf8utf8mb4。以下是解决步骤:

    1. 确认MySQL服务器支持的字符集,推荐使用utf8mb4,因为它支持所有Unicode字符。

    2. 检查并设置数据库的默认字符集:

      ALTER DATABASE database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      
    3. 检查并设置数据表的默认字符集:

      ALTER TABLE table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      
    4. 检查并设置列的字符集(如果需要):

      ALTER TABLE table_name CHANGE column_name column_name VARCHAR(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      
    5. 重新尝试插入数据。

    提供代码

    以下是修改字符集的示例代码:

    -- 设置数据库字符集
    ALTER DATABASE your_database_name CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
    -- 设置数据表字符集
    ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
    
    -- 插入数据
    INSERT INTO your_table_name (column1, column2, ...) VALUES ('王', 's2', 20, '大数据', 2, 'woman');
    

    代码运行方式

    您需要在MySQL命令行界面或通过任何MySQL客户端工具运行上述SQL命令。

    代码预期运行结果

    如果字符集设置正确,您应该能够成功插入包含中文的数据,而不会出现错误。

    推荐相关链接

    评论 编辑记录

报告相同问题?

问题事件

  • 创建了问题 5月17日

悬赏问题

  • ¥15 求京东批量付款能替代天诚
  • ¥15 slaris 系统断电后,重新开机后一直自动重启
  • ¥15 51寻迹小车定点寻迹
  • ¥15 谁能帮我看看这拒稿理由啥意思啊阿啊
  • ¥15 关于vue2中methods使用call修改this指向的问题
  • ¥15 idea自动补全键位冲突
  • ¥15 请教一下写代码,代码好难
  • ¥15 iis10中如何阻止别人网站重定向到我的网站
  • ¥15 滑块验证码移动速度不一致问题
  • ¥15 Utunbu中vscode下cern root工作台中写的程序root的头文件无法包含