真是彻彻底底的被打败了!总结一下问题所在: 主要症结:UTF-8和GB2312的问题! 主要相关内容: 1、MYSQL设置 2、PHPMYADMIN设置 3、PHP/HTML文件本身编码设置 4、PHP/HTML页面显示编码设置 5、各类编辑器对UTF-8设置 5、EDITPLUS VS ULTRAEDIT 如果EDITPLUS保存一个文件为UTF-8再保存为默认,用ULTRAEDIT打开就会: ==系统设置== ==????== www.shengfang.org 4、PHP/HTML页面显示编码设置 <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> 表示强制浏览器编码设为简体中文(GB2312) 3、PHP/HTML文件本身编码设置 PHP/HTML文件本身是一个文本文件,可以采用ANSI、UTF-8、GB2312格式保存,最好保存格式和文件编码设置匹配 www.shengfang.org 2、PHPMYADMIN设置 MySQL 连接校对: www.shengfang.org 1、MYSQL设置 用MySQL Server Instance Config Wizard 改变MYSQL编码 问题1:MYSQL/PHPMYADMIN显示正常,但是PHP页面显示乱码 前提1:MYSQL设置UTF-8 解决1:将页面编码和保存都设置为UTF-8格式 www.shengfang.org 问题2:页面保存为UTF-8后,结果PHP IDE编辑器显示中文乱码 前提2:使用ULTRAEDIT/EDITPLUS实在不顺手,习惯了智能提示 www.shengfang.org解决2:全部又改回GB2312格式;设置MYSQL为GB2312,否则PHP设置、查询出来的数据乱码 -- phpMyAdmin SQL Dump -- version 2.6.3-pl1 -- http://www.phpmyadmin.net -- -- 主机: localhost -- 生成日期: 2005 年 08 月 23 日 13:36 -- 服务器版本: 4.1.13 -- PHP 版本: 4.3.10 -- -- 数据库: `iwas` -- -- -------------------------------------------------------- -- www.shengfang.org -- 表的结构 `param` -- CREATE TABLE `param` ( `id` smallint(6) NOT NULL auto_increment, `namee` char(20) NOT NULL default '', `vall` char(20) NOT NULL default '', PRIMARY KEY (`id`) www.shengfang.org ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ; -- -- 导出表中的数据 `param` -- www.shengfang.org INSERT INTO `param` VALUES (17, 'style', '234'); #1064 - You have an error in your SQL syntax near 'ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=18 ' at line 6 欢迎使用 phpMyAdmin 2.5.7-pl1 MySQL 3.23.58 在 localhost 字体:大 中 小 |