补充一下资料库的部份,
大部分的插件再编写 SQL 的时候,
都是类似下面这2种
复制程式
$db->query("DROP TABLE IF EXISTS {$tablepre}petshopdata",1);
$db->query("CREATE TABLE `{$tablepre}petshopdata` (
id mediumint(8) unsigned NOT NULL auto_increment,pet varchar(30) NOT NULL default '',
newpetclass varchar(8) NOT NULL default '',
pettxt varchar(50) NOT NULL default '',
petsx varchar(6) NOT NULL default '',
PRIMARY KEY (id)
) TYPE=MyISAM;");
或是这种
复制程式
{$tablepre}mypetitemdata(itemtype,itemlevel,itemmaxnum,itemcost,itemname,itemtext,trade,armposition,createtime,itemplus) values('alife,2',Ɔ',鰿',鬔,200','XXXX','ZZZZZZZZZ','store,user,useable','',Ɔ','+dead,1,+hp,300,+sp,100') ;
上面2种都是比较常见的SQL语法
但是有时候安装完成会出现乱码,
这时候要注意一下!!
有些插件再SQL里面会给你藏了一些让你会乱码的东西,
以第一个例子来说
我再SQL表里面给你多加一行 CHARSET=gb2312
例如:
复制程式
pettxt varchar(50) CHARSET=gb2312 NOT NULL default '',
这时候不管你怎么转码在这个SQL表格内的资料都会存成gb2312编码
只要你的网页不是GB2312编码类型的,
那乱码就会出现了,
虽然说这种情况很少
但是我建议大家在安装插件有需要升级SQL的时候,
检查一下SQL的部份或是在SQL表的尾端多加上一句指定编码的语法
这样可以避免绝大多数乱码的问题。
至于加在那边这边跟大家说一下:
在每个SQL表的尾端都会有这样的一句
复制程式
你只需要在 MyISAM 后面加上指定编码的语法就行了,
例如你要 BIG5 编码
复制程式
TYPE=MyISAM CHARSET=big5;");
要UTF8编码
复制程式
TYPE=MyISAM CHARSET=utf8;");
加上这样的一句语法会让你在安装完插件的时候,
减少很多会变成乱码的问题。
如果插件的SQL语法是属于第2种的编写方式,
则只需要注意 中文字的部份,
BIG5编码方式是无法储存简体字的,
反之亦然,
所以只要注意中文字的部分不要有简体字型就可以了。
以上是小弟在安装插件时的一些心得。
希望可以让大家可以在安装插件时减少乱码的机会。
PS:若你在转换PHP或HTML编码的时候,
如果档案内容不存在中文字的话,
那这个PHP或HTML可以不用转码没关西!!