• 5.中文问题(自身,操作系统级别,应用软件的本身),mysql数据库备份


    

    第一层因素:

             mysql的自身的设置

             mysql有六处使用了字符集。分别为:client connectiondatabaseresultsserver system

             mysql>show variables like 'character%';

    +--------------------------+----------------------------+

    | Variable_name            | Value                      |

    +--------------------------+----------------------------+

    | character_set_client     | utf8                       |

    | character_set_connection | utf8                       |

    | character_set_database   | utf8                       |

    | character_set_filesystem | binary                     |

    | character_set_results    | utf8                       |

    | character_set_server     | latin1                     |

    | character_set_system     | utf8                       |

    | character_sets_dir       | /usr/share/mysql/charsets/ |

    +--------------------------+----------------------------+

     

            

            

    mysql -uroot -p--default_character_set=gbk; (影响数据的输入和输出)

            

    mysql> show variables like 'character%';

    +--------------------------+----------------------------+

    | Variable_name            | Value                      |

    +--------------------------+----------------------------+

    | character_set_client     | gbk                        |

    | character_set_connection | gbk                        |

    | character_set_database   | utf8                       |

    | character_set_filesystem | binary                     |

    | character_set_results    | gbk                        |

    | character_set_server     | latin1                     |

    | character_set_system     | utf8                       |

    | character_sets_dir       | /usr/share/mysql/charsets/ |

    +--------------------------+----------------------------+

    8 rows in set (0.00 sec)

     

             insertinto worker(id,name,sex,birthday,salary,entry_date,resume) values(3,'赵六',0,'1985-09-21',7000,'2012-08-24','一个小小牛');

            

    ====>错误现象      

             mysql>insert into worker(id,name,sex,birthday,salary,entry_date,resume) values(3,'赵六',0,'1985-09-21',7000,'2012-08-24','一个小小牛');

    ERROR 1366 (HY000): Incorrect string value:'x80xE4xB8xAAxE5xB0...' for column 'resume' at row 1

    mysql>

     

    ====>结论: 让你的client server 连接 ,都必须设置成一样 utf8gbk

     

     

    第二层因素

             操作系统语言环境的设置

                                a)操作系统的整体的语言环境

                                         [mysql01@localhost~]$ cat /etc/sysconfig/i18n

                                                                     LANG="zh_CN.UTF-8"

                                                                     [mysql01@localhost~]$

                                b)当前用户的语言环境  linux的操作系统是基于多用户的操作系统

                                                                     [mysql01@localhost~]$ env | grep LANG*

                                                                     LANG=zh_CN.UTF-8

                                                                     [mysql01@localhost~]$

                                                                    

                                                   =====>当前用户的LANG设置能屏蔽操作系统语言环境设置                                      

                                                                    

                                实现:改动当前用户的语言环境

                                                            [mysql01@localhost~]$ env | grep LANG

                                                            LANG=C

                                                            [mysql01@localhost~]$                                    

                                                           

                                         insertinto worker(id,name,sex,birthday,salary,entry_date,resume) values(3,'赵六六',0,'1985-09-21',7000,'2012-08-24','一个小牛');                 

                                                           

            

    第三层因素

             你的应用软件的本身 文件的 存储问题....

            

             文件存储

                       最经常使用有2种方式:utf8  code936 

            

                       ====  gbk转宽字节的函数....widewinskd函数  gbk转成宽字节(Unicode2)

            

    备份mysql数据库

    $ mysqldump -uroot -p mydb2 >  2.sql

     

    //恢复msql数据库

    $ mysqldump -uroot -p mydb2 < 2.sql

  • 相关阅读:
    Win7下用IIS发布网站
    进程的端口被占用的解决方案
    JS event loop
    慕课网
    angular js
    PowerDesign生成数据库
    CodeSmith 代码生成器
    微信小程序开发学习资料
    SSO 单点登录
    面试
  • 原文地址:https://www.cnblogs.com/bhlsheji/p/5181293.html
Copyright © 2020-2023  润新知