php中 charset 与set names本质区别是什么?
我曾经试过在插入数据前用过charset utf8
然后获取数据用set names utf8
读出来的值喂乱码,
然后改用charset utf8
读数据时正常
为什么charset 与set names 插入和读取时要’配套使用‘,请谈一下其中的区别

解决方案 »

  1.   

    PHP文件也是有编码的文本文件 该文件的编码格式可以是UTF8也可以是别的返回到客户端的文件格式自然也是可变的
      

  2.   

    SET NAMES显示客户端发送的SQL语句中使用什么字符集。因此,SET NAMES 'cp1251'语句告诉服务器“将来从这个客户端传来的信息采用字符集cp1251”。它还为服务器发送回客户端的结果指定了字符集。(例如,如果你使用一个SELECT语句,它表示列值使用了什么字符集。)SET NAMES 'x'语句与这三个语句等价:mysql> SET character_set_client = x;
    mysql> SET character_set_results = x;
    mysql> SET character_set_connection = x;
      

  3.   

    我的意思是说,set names utf8 与charset utf8 不都是制定编码为uft8吗?为什么结果两者的”uff8“有差异