mysql的乱码处理

  其实对于mysql使用中出现的乱码,网上有很多也很全的处理,不过应一位网友之邀,写这一篇文章。

  乱码的本质是使用了错误的编码,因此解决乱码也应从这一方面入手。

  默认使用utf8编码是最理想的,尤其是作为web的后台数据库时,网页自身使用的也是utf8,所有涉及到字符串处理都按utf8处理,最好连程序源文件也使用utf8,这样简单而且不会出现乱码。

  比较麻烦的是为windows GUI开发时使用mysql数据库,我们知道window程序使用的字符集为unicode和mbsc2种方式。 如果是mbsc,可以确定用户只使用中文,不妨把将数据库缺省字符设为gbk,从而简化开发。否则,最好还是使用utf8,在开发过程中,注意保证进数据库的字符串是utf8,牢记出来的字符串是utf8,需要根据需要进行转换。

  上面说是开发使用中要注意的事项,接下来说一下编码的控制。

  1. 数据库安装时,编码默认utf8(这一步不是必要的,只是习惯)。
  2. 用于初始化或者修改数据库的sql文件,第一行应为set names 'utf8';
  3. 使用mysql connect API开发时,使用mysql_real_connect建立连接后,立即使用mysql_set_character_set设定字符集为utf8。
  4. 在使用mysql_query时,保证进入的字符串是utf8的,window下可以根据序使用的字符集,对输入的字符串进行编码转换(这里可以封装mysql_query,在程序中不直接使用mysql_query)。
  5. 在mysql_use_result时,知道自己拿到的字符串是utf8,window下同样需要根据序使用的字符集进行编码转换。

你可能感兴趣的:(mysql,数据库,编码)