老问题了,要在创建数据库的时候指定合适的字符集,每种字符集可能有好几种
整理(collation),但都有一种默认的Collation,
第二,要在PHP中指定连接MySQL时使用的字符集,否则的话使用my.cnf里面的默认设置

解决方案 »

  1.   


    谢谢!问题已经解决了。总结:
    1、把数据库sql文件查找 CHARACTER
    替换成 CHARACTER SET utf8 或 CHARACTER = utf82、到phpmyadmin 创建一个新的数据库的时候应该选 整理 latin1_swedish_ci3、到phpmyadmin 进入新建的数据库,导入数据库文件4、用UltraEdit转换所有ANSI格式的php源码文件为UTF-8格式:File --> Conversions --> ASCII to UTF-85、在php源码文件中必须加入:
    在<head>后加入
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">6、在连接数据DB的文件中找到类似一下代码
    $host="localhost"; $DBname="aa"; //数据库名字$user= "root"; //用户名$passwd = ""; //密码$link = mysql_connect($host,$user,$passwd) or die ("Fail");
    $db = mysql_select_db($DBname, $link) or die ("Fail"); //连接
    // 要在真正query DB取出资料前,必须加入下面3行mysql_query才可以:
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER_SET_CLIENT=utf8");
    mysql_query("SET CHARACTER_SET_RESULTS=utf8");7、在php源码中, 如有应用htmlentities和htmlspecialchars时需要注意:
    要似如下格式:
    $chars = htmlentities($chars,ENT_QUOTES,"UTF-8");
    $chars = htmlspecialchars($chars,ENT_QUOTES,"UTF-8");
    如有应用addslashes()或mysql_real_escape_string()记得用以下:
    $chars = stripslashes($chars);另外如果需要的话还可设置:1、php.ini 设定php中的语系为 (记得restart)
    default_charset = "utf-8"2、my.ini 设定MySQL中的语系为 (记得restart)
    [mysqld]
    init_connect='SET NAMES utf8'
    default-character-set=utf8
    [client]
    default-character-set = utf8本人刚接触PHP+MySQL,才疏学浅,希望能给有需要的得到帮助。
    请大家指点,谢谢!
    参考资料:php全面采用UTF8
      

  2.   

    latin1_swedish_ci 是瑞典语言啦 改成 chinese 或者 gb2312都可以 不用那么麻烦