• 看后盾网字符集视频,写下自己对字符集的理解


    // 显示有关字符集的环境变量和参数,必须要先选择那个数据库 use database ***才能查看它的正确的character_set_database的值。
    show variables like "%character%";

    // character_set_client   | gbk        客户端字符集   可以通过set charscter_set_client=binary  这个设置成二进制可防止注入,因为这一步是转换的,所以随便设置。
    // character_set_connection  | gbk     连接字符集    二进制转换后,要通过这个再来转换,一般转换成你之前插入的字符集,比如你能输入汉字,你一般用的是gbk或                                                    者utf8,没有设置就是系统默认的字符集,别搞错了。
    // character_set_results  | gbk        结果字符集     这一步因为是dattabas转换成的最终结果,转换成之后,它就直接返回出去不会进行转换了。

    // character_set_database  | latin1   当前选择的数据库字符集,这一步也进行了转换,如果是汉字别搞成英文字符的
    // character_set_filesystem  | binary   文件系统字符

    // character_set_server  | latin1  默认操作字符集
    // character_set_systm  | utf8     系统元数据字符集
    // character_set_dir  |e:\mysql\share\charsets\    mysql字符设置目录、

    character_set_client   | binary 这个字符集我认为是从客户端发送的字符集,也就是说客户端我们所看到的本身的字符集不是通过这个参数设置的。这个要设置成binary

    character_set_connection  | gbk  如果你输入的有汉字或多字节的字符的话,这里设置成gbk或者utf8比较好,

    character_set_database  | gbk,这个跟连接字符集设置成一样比较好,这样就减少转换。

    character_set_results  | gbk        结果字符集,这个是重中之重,必须要设置成跟你的插入的数据要一致,如果没指定的话就跟你的数据库的字符或者系统默认的字符集一致。

        我测试了很多次,改了client,connection,database的都没问题,但是一改掉character_set_results就出现乱码,具体原因不祥,所以这个设置最好跟connection一样。前面一般不会错,关键这一步是返回,他返回的是跟你之前输出的字符集是一样的,他不进行转换,所以这步不能错。我将这个转换成utf8居然是乱码,为些我将其它的,包括插入字段,表,数据库的字符集,连接的等等都改成utf8还是乱码,这个非得要gbk才不是,我把系统默认的也改成utf8了还是不行。所以这个可能是我的测试问题。改完之后退出mysql再重新进入,是修改之前的,改掉的竟然保存不了。以后看会不会找出问题的所在。

  • 相关阅读:
    调整swt table的行高
    获取TableViewer里面的所有TableViewerColumn
    jface viewer 全选
    jaxb生成pojo类返回类型为布尔值的问题
    EMF中复制对象属性
    向导中的参数传递 wizard param
    GEF中TreeViewer的叶子节点展开
    Cannot modify resource set without a write transaction 问题
    注册emf package并读取EMF文件
    从运行时的工作空间获取EMF文件(IFILE)
  • 原文地址:https://www.cnblogs.com/xuxiang/p/2976586.html
Copyright © 2020-2023  润新知