MySQL学习笔记(一)——搜索中文字符串

MySQL学习笔记(一)——搜索中文字符串

注:本笔记为记录实验室学习项目中遇到的各类问题,如有错误,欢迎各位大神指正,谢谢!

C#工程中,遇到了需要搜索数据库中内容为中文的字段。在程序中如果直接使用:
select * from FormName where itemName = '中文'
就无法搜索到指定内容,“中文”也会变成“??”。

搜索了许多资料,大部分网友的说法都是字符编码问题。

mysql默认的字符编码为latin1,其无法识别中文。

因此在读取查询语句的时候会出现乱码,从而使查询条件不正确。

因此需要将其进行修改,一般更改为utf8即可。

本次实验中,针对该问题,做了以下几点处理:
  1. 修改my.ini文件

    在my.ini文件中搜索:[client]
    添加:default-character-set=utf8

    在my.ini文件中搜索:[mysql]
    添加:default-character-set=utf8

    注:修改完my.ini文件之后需要重启MySql服务。具体方法:

    计算机->管理->服务和应用程序->服务->MySQL->右键->重新启动

  2. 工程代码中添加charset=utf8

    在建立连接时,添加charset=utf8,即:

MySqlConnection myConnection = new MySqlConnection(
    "Host = localhost;
     Database=mydb;
     Username=admin;
     Password=123456;
     charset=utf8;");
搜索的语法可以如下所示:
 SELECT * FROM FormName WHERE item = '中文'
 SELECT * FROM FormName WHERE item like '中文%'
 SELECT * FROM FormName WHERE item like '%中文'
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值