c++ linux 如何把 char* 里面的中文 insert进入mysql(相应的字段为varchar类型)

本文介绍了在Linux环境下,使用C++将包含中文的`char*`变量插入到MySQL(UTF8字符集)的`varchar`字段的方法。首先,检查MySQL的字符集设置,通过`show variables like 'char%'`,发现默认的字符集可能不为UTF8。接着,提供了两种解决方案:一是临时更改MySQL会话的字符集为UTF8,二是永久修改`my.cnf`配置文件。调整后,确保从客户端到服务器的字符集转换正确,以便成功插入中文数据。
摘要由CSDN通过智能技术生成

首先,  show variables like 'char%';来检查字符集:

+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1               |
| character_set_database   | utf8                   |
| character_set_filesystem | binary               |
| character_set_results    | latin1                   |
| character_set_server     | utf8                       |
| character_set_system     | utf8                     |

 

其次,修改方式有两个:

第一种,单次有效,直接在mysql命令行输入:set names 'utf8';

第二种,永久有效,在my.cnf配置:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值