MySQL插入数据中错误提醒 1366 Incorrect string value…的解决方法
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
报错原因: windows 安装MySQL 时选择的是默认编码,创建数据库也选择默认编码,导致该库的编码默认为gbk.该库下的表默认也会是gbk,字段默认也是gbk. 解决方法: 第一种方法是windows在安装MySQL的bin目录下my.ini文件中添加 [client] default-character-set =utf8 [mysql] default-character-set =utf8 [mysqld] collation-server = utf8_unicode_ci init_connect =’SET NAMES utf8′ 第二种方法是在字段的属性里的字符集更改为 在MySQL数据库操作中,有时会遇到“1366 Incorrect string value…”的错误提示,这通常是由于字符编码不匹配导致的。错误发生时,表明正在尝试插入的数据包含无法被当前数据库或表的字符集识别的字符。在Windows环境中,安装MySQL时如果选择了默认的GBK编码,而实际操作中需要用到UTF-8编码的字符,就会引发这种问题。 **1. 错误原因分析** GBK是一种双字节编码,主要支持简体中文,而UTF-8则是一种多字节编码,能支持更多的语言字符,包括繁体中文、英文、日文等。当试图插入包含非GBK编码的字符时,比如UTF-8编码的特殊符号或繁体字,数据库无法正确解析,就会出现错误。 **2. 解决方法** ### 第一种方法:修改配置文件 在MySQL的安装目录下,找到`my.ini`配置文件(通常位于`bin`目录下)。打开文件后,在相应部分添加以下内容: ```ini [client] default-character-set = utf8 [mysql] default-character-set = utf8 [mysqld] collation-server = utf8_unicode_ci init_connect = 'SET NAMES utf8' ``` 这将设置客户端、MySQL命令行工具和服务器端的默认字符集为UTF-8。`collation-server`设置服务器的排序规则,`utf8_unicode_ci`是一个对大小写不敏感的排序规则。`init_connect`则确保每次连接时自动设置字符集为UTF-8。 ### 第二种方法:修改数据库和表的字符集 如果你不想修改全局配置,可以逐个更改数据库、表以及字段的字符集。你可以使用以下SQL语句更改数据库的字符集: ```sql ALTER DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_unicode_ci; ``` 接着,如果表的字符集也需要更改,可以执行: ```sql ALTER TABLE your_table_name CONVERT TO CHARACTER SET utf8 COLLATE utf8_unicode_ci; ``` 对于每个字段,可以单独更改其字符集: ```sql ALTER TABLE your_table_name MODIFY your_column_name VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci; ``` 请注意,这种方法需要对每一个可能存在问题的字段进行操作,所以相对繁琐。 **3. 预防措施** 为了避免类似问题的发生,建议在创建数据库和表时就明确指定UTF-8字符集,以确保能处理各种类型的字符。例如: ```sql CREATE DATABASE your_database_name CHARACTER SET utf8 COLLATE utf8_unicode_ci; CREATE TABLE your_table_name ( ... ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; ``` **4. 结论** “1366 Incorrect string value…”错误是由于字符编码不兼容导致的,通过调整MySQL配置文件或者直接修改数据库和表的字符集设置可以解决问题。为了防止此类问题,最佳实践是在数据库设计阶段就明确使用广泛支持的UTF-8字符集。在实际操作中,应确保所有与数据库交互的工具和应用程序也采用相同或兼容的字符集设置。
- 粉丝: 5
- 资源: 940
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 章节1:Python入门视频
- 无需样板的 Python 类.zip
- ESP32 : 32-bit MCU & 2.4 GHz Wi-Fi & BT/BLE SoCs
- 博物馆文博资源库-JAVA-基于springBoot博物馆文博资源库系统设计与实现
- 旅游网站-JAVA-springboot+vue的桂林旅游网站系统设计与实现
- 小说网站-JAVA-基于springBoot“西贝”小说网站的设计与实现
- 游戏分享网站-JAVA-基于springBoot“腾达”游戏分享网站的设计与实现
- 学习交流-JAVA-基于springBoot“非学勿扰”学习交流平台设计与实现
- EDAfloorplanning
- 所有课程均提供 Python 复习部分.zip