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


    // 显示有关字符集的环境变量和参数,必须要先选择那个数据库 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再重新进入,是修改之前的,改掉的竟然保存不了。以后看会不会找出问题的所在。

  • 相关阅读:
    Web APP开发技巧总结
    2015年 移动开发都有哪些热点?
    手机APP UI设计尺寸基础知识
    最新Android & iOS设计尺寸规范
    给iOS开发者的Android开发建议
    Android 应用开发推荐书单
    Android 你应该知道的学习资源 进阶之路贵在坚持
    一篇文章让你读懂iOS和Android的历史起源
    Android平台上最好的几款免费的代码编辑器
    Google 发布的15个 Android 性能优化典范
  • 原文地址:https://www.cnblogs.com/xuxiang/p/2976586.html
Copyright © 2020-2023  润新知