记一次MySql入库后,文本出现乱码的问题

最近采用ADO.NET开发了一个工具,解析了一条如下的日志并入库(MySql)

2014-08-19 00:37:10 [INFO] roleName=♣丶伊诺,orderId=1408190037102121039,price=10.0,point=100

发现入库后的roleName中的♣显示为□乱码了,一开始以为是表的编码问题,确认后是utf-8编码木有问题,后来又排除了文件编码及代码中的字符串都没有乱码的问题,凭经验分析,可能是连接字符串的问题吧,后来把MySql的连接字符串中也加入了utf-8编码的参数选项,测试OK了。

server=10.10.10.10;convertzerodatetime=True;characterset=utf8;checkparameters=False;allowuservariables=True;user id=xxxx;password=xxx;port=3316;Integrated Security=False

以上连接字符串中的characterset=utf8就是字符编码的处理选项。

记一次MySql入库后,文本出现乱码的问题

时间: 2024-10-25 03:46:47

记一次MySql入库后,文本出现乱码的问题的相关文章

解决openfire在使用MySQL数据库后的中文乱码问题(转)

openfire是一个非常不错的IM服务器,而且是纯Java实现,具有多个平台的版本,他的数据存储可以采用多种数据库,如MySQL,Oracle等. 在实际使用时大家遇到最多的就是采用MySQL数据库后的中文乱码问题,这个问题十分有趣,而且从现象上可以看出openfire内部的一些机制. 实际问题是这样的:首先启动openfire服务器,然后利用客户端或直接登录到后台新建一个帐户,为该帐户指定一些中文的属性,如姓名等.如果不重启服务器,你永远不会觉得有什么不对的地方,因为所有的中文显示都是正常的

笔记:PHP查询mysql数据后中文字符乱码

新建表Clubs CREATE TABLE `Clubs` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(30) CHARACTER SET utf8 NOT NULL DEFAULT '', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci; id name 1 程序员2 架构师3 产品经

【夯实Mysql基础】记一次mysql语句的优化过程!

1. [事件起因] 今天在做项目的时候,发现提供给客户端的接口时间很慢,达到了2秒多,我第一时间,抓了接口,看了运行的sql,发现就是 2个sql慢,分别占了1秒多. 一个sql是 链接了5个表同时使用了 2个 order by和 1个limit的分页 sql. 一个sql是上一个sql的count(*),即链接了5个表,当然没有limit了(取总数). 2. [着手优化] 1)[优化思路] 第一条是 做client调用 service层的数据缓存 第二条就是 优化sql本身. 这里着重讲一下

dat类型文件入库后校验数据有问题

一.问题: dat或者txt文件入库后,字段进行正则校验报出不应该出现的错误 二.排查: (1)根据报出的错误,把错误日志中的字串单独提取出来,进行正则校验发现没有问题 (2)可以想到,要不是程序问题,或者是错误日志抓取没有真实的反映当时的错误情况 (3)而报错的这个文件是个例,排除了程序问题 (4)那么,进行字段正则校验的时候到底发生了什么? (5)提取流入校验流程的数据,也就是文本文件导入数据库后的字段数据 (6)直接数据库执行从表里提取字段的校验会出现错误,那么就是这个字段隐藏了数据信息

mysql对后空格不敏感 mysql数据库对空格的查询处理

mysql对后空格不敏感 https://blog.csdn.net/lzupb/article/details/73530589 结论:查询条件中建议对字符串做trim处理,在数据入库的时候最好也做trim处理. example1: 表里面的字段值都不带空格,where查询条件里面带或不带空格. 例如:key='test' 查询条件a:where key='test ',查询结果是ok的 查询条件b:where key=' test', 查询结果是空的 查询条件c:where key='tes

MySQL安装后默认自带数据库的作用

大家在学习MySQL时,安装后都会发现里边已经自带了几个默认的数据库,我装的MySQL5.5里边自带六个数据库 网上查了一些资料对这几个数据库的功能做一下学习. 1.information_schema 这个库中有很多的表 information_schema数据库表说明: SCHEMATA表:提供了当前mysql实例中所有数据库的信息.是show databases的结果取之此表. TABLES表:提供了关于数据库中的表的信息(包括视图).详细表述了某个表属于哪个schema,表类型,表引擎,

修改mysql密码后出现UCenter info: Can not connect to MySQL server

修改以下三个配置文件数据库连接信息 安装目录/config/config_global.php         安装目录/config/config_ucenter.php    安装目录/ucent/data/config.inc.php 修改mysql密码后出现UCenter info: Can not connect to MySQL server,布布扣,bubuko.com 修改mysql密码后出现UCenter info: Can not connect to MySQL serve

mysql 安装后无法登陆mysql的 shell 那mysql>经验:ERROR 1045 (28000): Access denied for user 'root'@'localhost‘

[[email protected] ~]# mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 遇到:ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO) 网上找了非常多的文章还是没有解决我的问题. 1.首先能够确认的是mysql 命令行 sql命令keywo

Mysql安装后没有服务

你安装了mysql没有,没有就先安装,安装好mysql以后,在bin目录下有个mysqld.exe,运行这个程序就可以添加mysql服务,但是运行这个程序需要使用参数,否则就会以命令行窗口形式启动MYSQL数据库,命令参数如下: 安装服务(MySQL)的命令:mysqld.exe --install 可以指定服务的名字,例如:mysqld.exe --install MySQL5 以上命令安装的服务是开机自动运行,如果开机不自动启动,那么参数如下:mysqld.exe --install-man