专栏首页算法与编程之美数据库|如何解决数据库插入中文字体时显示问号

数据库|如何解决数据库插入中文字体时显示问号

问题描述

我们在进行数据库的增删改查的操作时,当我们插入英文或者数字等字符串的时候能够正常显示,但的当我们插入中文字体的时候我们就会在我们的表中发现显示的是一连串的问号,没有显示出我们本该插入的中文字体,时我们该怎么解决呢?

解决方案

当我们遇到这个问题的时候首先想到的是编码问题,很可能是我们的编码格式不对,我们打开Notepad++我们会发现里面有多种编码格式:

这时候我们就需要去查看我们的这张表的编码格式,首先我们进入数据库,查看我们的编码格式;

我们会看到我们的几种编码格式,可能大家对这8中变量名不是很清楚,下面我们简单的介绍一下这几种变量名:

1、character_set_client

  主要用来设置客户端使用的字符集。

2、character_set_connection

  主要用来设置连接数据库时的字符集,如果程序中没有指明连接数据库使用的字符集类型则按照这个字符集设置。

3、character_set_database

  主要用来设置默认创建数据库的编码格式,如果在创建数据库时没有设置编码格式,就按照这个格式设置。

4、character_set_filesystem

  文件系统的编码格式,把操作系统上的文件名转化成此字符集,即把 character_set_client转换character_set_filesystem, 默认binary是不做任何转换的。

5、character_set_results

  数据库给客户端返回时使用的编码格式,如果没有指明,使用服务器默认的编码格式。

6、character_set_server

  服务器安装时指定的默认编码格式,这个变量建议由系统自己管理,不要人为定义。

7、character_set_system

  数据库系统使用的编码格式,这个值一直是utf8,不需要设置,它是为存储系统元数据的编码格式。

8、character_sets_dir

  这个变量是字符集安装的目录。

这就是8个变量的说明,大家可以简单了解一下,下面我们来介绍怎么解决这个问题,在百度上很容易查到这个问题的解决方案,很多方法是通过命令去修改这个编码格式,这里我用的是一种比较简单的方法。

我们首先找到我们MySQL的安装目录下的my.ini文件,我的是安装在d盘:D:\Program Files\MySQL\MySQL Server 5.5。我们用记事本打开,找到里面的编码配置的代码

也就是几个变量的编码格式,找到它对应的代码将其修改为utf8就可以了。

结语

我们在发生错误的时候不必马上解决,我们一定要寻求最优的解决办法,多找几种办法,没必要找到办法就,马上去实行,多做一点对比。

本文分享自微信公众号 - 算法与编程之美(algo_coding)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2019-10-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 性能测试技能树

    基础: 完整的性能测试流程     需求-计划-方案-环境搭建-用例设计-数据准备-场景设计-脚本开发-脚本执行-结果分析-问题反馈-性能调...

    飞天小子
  • Sql Server 连接池及其用法

      其实我们一直在使用SqlServer的连接池。在连接字符串中,Pooling为是否启用连接池,默认值为true,表示启用。

    thz
  • C#枚举中使用Flags特性

    这种用处很大,比如权限、执行状态等,都可以用一个int型保存到数据库中,C#中使用枚举可以处理这个问题。

    thz
  • SpringJDBC

    除了Spring自带的Jar包,还要下载几个Jar包,这里我吐槽下CSDN,下个Jar包都要积分,真是想钱想疯了,其实可以Google得到

    用户3112896
  • MVC3教程之实体模型和EF CodeFirst

      在本节中,我们将使用Entity Framework 数据访问技术来定义这些模型类,并对这些类来进行操作。EF支持一个被称之为“code-first”的开发...

    thz
  • 数据仓库、数据湖、数据中台终于有人说清楚了,建议收藏!

    随着大数据技术的不断更新和迭代,数据管理工具得到了飞速的发展,相关概念如雨后春笋一般应运而生,如从最初决策支持系统(DSS)到商业智能(BI)、数据仓库、数据湖...

    用户2769421
  • [golang]在Go中处理时区

    当将时区存储在数据库中时,请始终遵循一个标准时区,理想的做法是保存UTC时间,并在显示时区时根据需要将其转化为各种时区。

    landv
  • 数据太多、太乱、太杂?你需要这样一套数据治理流程

    最近,明略科技与合肥工业大学的研究者在中文核心期刊《软件学报》上发表了一篇关于数据治理的论文。它介绍了数据治理的概念,并对数据清洗、交换和集成等进行具体分析,从...

    机器之心
  • SqlServer 错误:"SQL Server 无法生成 FRunCM 线程" -- 解决办法

    开始-》Sql server 2005-》配置工具-》SQL Server Configuration Manager-》sql协议-》禁止VIA

    thz
  • SuperSQL:跨数据源、跨DC、跨执行引擎的高性能大数据SQL中间件

    导语:SuperSQL是腾讯数据平台部自研的跨数据源、跨数据中心、跨执行引擎的统一大数据SQL分析平台/中间件,支持对接适配多类外部开源SQL执行引擎,如Sp...

    腾讯大数据

扫码关注云+社区

领取腾讯云代金券