建库的sqlCREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin;建表的sqlCREATE TABLE `test1` (
`id` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
`name` VARCHAR( 255 ) NOT NULL ,
`created` DATETIME NOT NULL 
) ENGINE = MYISAM CHARACTER SET utf8 COLLATE utf8_bin;
如果你想phpmyadmin和程序都能正确读取,你最好按照上面的sql语句重建库和表.

解决方案 »

  1.   

    1 mysql操作之前,加上mysql_query("set names 'utf8'",$link);
    2 保证最终生成的html里包含<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
      

  2.   

    1:一连接上mysql,第二句就是set names utf82:读出来的是没有问题的,是phpMyAdmin有问题,现在希望phpMyAdmin能搞好,这样更直观谢谢你吖,祝新年快乐
      

  3.   

    只要你sql标准化,phpmyadmin读取是不会有任何问题的.解决问题要在根上,呵呵.你自己慢慢解决吧.
      

  4.   

    动态网页的3个申明编码统一,否则会乱码。一般来说,乱码的出现有2种原因,首先是由于编码(charset)设置错误,导致浏览器以错误的编码来解析,从而出现了满屏乱七八糟的“天书”,其次是文件被以错误的编码打开,然后保存,比如一个文本文件原先是GB2312编码的,却以UTF-8编码打开再保存。要解决上述乱码问题,首先需要知道开发中哪些环节涉及到了编码:   1、文件编码:指的是页面文件(.html .php等)本身是以何种编码来保存的。记事本和Dreamweaver或EditPlus再打开页面时候会自动识别文件编码因而不太会出问题。2、页面申明编码:在HTML代码HEAD里面,可以用
    <meta http-equiv="Content-Type" content="text/html; charset="XXX" />
    来告诉浏览器网页采用了什么编码,目前中文网站开发中XXX主要用的是GB2312和UTF-8两种编码。 3、数据库连接编码:指的是进行数据库操作时候以哪种编码与数据库传输数据,这里需要注意的是不要与数据库本身的编码混淆,比如MySQL内部默认是latin1编码,也就是说Mysql是以latin1编码来存储数据,以其他编码传输给Mysql的数据会被转换成latin1编码。
    应用:数据库采用UTF8编码,而页面申明编码是GB2312,这是最常见的产生乱码的原因。这时候在PHP脚本里面直接SELECT数据出来的就是乱码,需要在查询前先使用:mysql_query("SET NAMES GBK"); 或 mysql_query("SET NAMES gb2312"); (这个语句相当于执行了
      
      SET character_set_client=gb2312; 
      SET character_set_results=gb2312; 
      SET character_set_connection=gb2312;不论是插入、更新、删除还是查询操作,只要是操纵数据库,都要先执行SET NAMES “gb2312″,这样才能保证插入和显示的正确性。如果插入操作前没有执行这条语句,仅在查询时执行该语句,则仍然无法保证显示的正确性。) 来设定MYSQL连接编码,保证页面申明编码与这里设定的连接编码一致(GBK是GB2312的扩展)。如果页面是UTF-8编码的话,可以用:  mysql_query("SET NAMES UTF8"); 
    再不好使,就是rp问题了...
      

  5.   

    保存文件的时候应该选“不带BOM签名的UTF8” 可以用editplus....ue~emeditor都可以