恭喜星模实训php学员甘宇同学找到工作试用2800转正3500

星模实训20100118期php学员甘宇同学找到工作了

Read more »


国外php框架一览表

国外PHP框架统计网站

Read more »


星模实训php学员黄春龙同学的毕业感言

毕业感言 (黄春龙

从星模毕业半年多了,自己在北京的那些日志很值得怀恋。
工作到现在我一直认为自己是幸运的,当我每天上下班的时候,很多同学或者周边的朋友都还在为找一份工作而努力,让我感觉到有一门技术真的是到哪里都不怕!
记的去北京前还是大学同学推荐的,本来我不想去学的,认为现在的培训机构太多了,真实性很难判断,于是一直拖到9月份才去的北京学习PHP,而现在的我后悔了,每多点工作经验代表着你的工资可以往上涨。
刚去北京的时候很迷茫,我是第一次去北方,而且一去就是首都,高楼大厦对我而言就是一堵堵威严的冷漠,让我感觉无所适从,还好到了学校后师兄们亲自带我们去找房子,并且带我们找吃饭的地方,老师亲自给我们找合适的电脑。接下来就是PHP的学习了,因为我底子 很差,所以刚开始学的时候有点吃力,还好方龙师傅教的好,讲的课详细,真的是一个很不错的讲师。慢慢的接触久了渐渐熟悉了,感觉PHP很好学,而且每次做出东西来都有种成就感,这是玩游戏所不能带给我的。
三个月中,刚哥和方龙师傅时时刻刻都在跟进我们的课程和教学质量,时时刻刻都在指导者我们前进,让我在毕业后为工作的事情不在担忧。在这里向星模学校的所有教师说声感谢!


恭喜星模实训php学员毛宁同学找到工作试用2800转正3500

姓名: 毛宁

上班时间:5月24

公司名称:新东方精英英语

公司地址:海淀区知春路银网中心B座10层

试用期限:3个月

试用工资:3500*80%=2800

转正工资:3500

毛宁同学在星模实训学习期间学习踏实,好学爱问。结业后顺利找到了工作,是我们学模所有学员学习的榜样。


中文字符集与字符编码的基础知识

字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称:ASCII字符集、GB2312字符集、BIG5字符集、 GB 18030字符集、Unicode字符集等。计算机要准确的处理各种字符集文字,需要进行字符编码,以便计算机能够识别和存储各种文字。

中文文字数目大,而且还分为简体中文和繁体中文两种不同书写规则的文字,而计算机最初是按英语单字节字符设计的,因此,对中文字符进行编码,是中文信息交流的技术基础。本文将按照字符集的时间顺序讨论几种典型的字符集,选取几种代表性的中文字符集,研究历史由来、特点、技术特征。

ASCII 字符集

1.名称的由来

ASCII(American Standard Code for Information Interchange, 美国信息互换标准代码)是基于罗马字母表的一套电脑编码系统。 www.444p.com

2. 特点

它主要用于显示现代英语和其他西欧语言。它是现今最通用的单字节编码系统,并等同于国际标准ISO 646。

3. 包含内容

控制字符:回车键、退格、换行键等。

可显示字符:英文大小写字符、阿拉伯数字和西文符号

4. 技术特征

7位(bits)表示一个字符,共128字符

5.ASCII扩展字符集

7位编码的字符集 只能支持128个字符,为了表示更多的欧洲常用字符对ASCII进行了扩展,ASCII扩展字符集使用8位(bits)表示一个字符,共256字符。

ASCII 扩展字符集比ASCII字符集扩充出来的符号包括表格符号、计算符号、希腊字母和特殊的拉丁符号。

GB2312 字符集

1. 名称的由来

GB2312又称为GB2312-80字符集,全称为《信息交换用汉字编码字符集·基本集》,由原中国国家标准总局发 布,1981年5月1日实施。 php学习之家

2.特点

GB2312 是中国国家标准的简体中文字符集。它所收录的汉字已经覆盖99.75%的使用频率,基本满足了汉字的计算机处理需要。在中国大陆和新加坡获广泛使用。

3. 包含内容

GB2312收录简化汉字及一般符号、序号、数字、拉丁字母、日文假名、希腊字母、俄文字母、汉语拼音符号、汉语注音字母, 共 7445 个图形字符。其中包括6763个汉字,其中一级汉字3755个,二级汉字3008个;包括拉丁字母、希腊字母、日文平假名及片假名字母、俄 语西里尔字母在内的682个全角字符。

4.技术特征

(1)分区表示:

GB2312中对所收汉字 进行了“分区”处理,每区含有94个汉字/符号。这种表示方式也称为区位码。

各区包含的字符如下:01-09区为特殊符号;16-55 区为一级汉字,按拼音排序;56-87区为二级汉字,按部首/笔画排序;10-15区及88-94区则未有编码。 php学习之家

(2)双字节表示

两个字节中前面的字节为第一字节,后面的字节为第二字节。习惯上称第一字节为“高字节” ,而称第 二字节为“低字节”。

“高位字节”使用了0xA1-0xF7(把01-87区的区号加上0xA0),“低位字节”使用了 0xA1-0xFE(把01-94加上0xA0)。

5.编码举例

以GB2312字符集的第一个汉字“啊”字为例,它 的区号16,位号01,则区位码是1601,在大多数计算机程序中,高字节和低字节分别加0xA0得到程序的汉字处理编码0xB0A1。计算公式 是:0xB0=0xA0+16, 0xA1=0xA0+1。

BIG5 字符集

1.名称的由来

又称 大五码或五大码,1984年由台湾财团法人信息工业策进会和五间软件公司宏碁 (Acer)、神通 (MiTAC)、佳佳、零壹 (Zero One)、 大众 (FIC)创立,故称大五码。

Big5码的产生,是因为当时台湾不同厂商各自推出不同的编码,如倚天码、IBM PS55、王安 码等,彼此不能兼容;另一方面,台湾政府当时尚未推出官方的汉字编码,而中国大陆的GB2312编码亦未有收录繁体中文字。

www.444p.com php学习之家

2.特点

Big5字符集共收录 13,053个中文字,该字符集在中国台湾使用。耐人寻味的是该字符集重复地收录了两个相同的字:“兀”(0xA461及0xC94A)、“嗀” (0xDCD1及0xDDFC)。

3.字符编码方法

Big5码使用了双字节储存方法,以两个字节来编码一个字。第一 个字节称为“高位字节”,第二个字节称为“低位字节”。高位字节的编码范围0xA1-0xF9,低位字节的编码范围0×40-0x7E及 0xA1-0xFE。

各编码范围对应的字符类型如下:0xA140-0xA3BF为标点符号、希腊字母及特殊符号,另外于 0xA259-0xA261,存放了双音节度量衡单位用字:兙兛兞兝兡兣嗧瓩糎;0xA440-0xC67E为常用汉字,先按笔划再按部首排 序;0xC940-0xF9D5为次常用汉字,亦是先按笔划再按部首排序。

4.Big5 的局限性

尽管Big5码内 包含一万多个字符,但是没有考虑社会上流通的人名、地名用字、方言用字、化学及生物科等用字,没有包含日文平假名及片假名字母。 www.444p.com php学习之家

例如台湾视“着”为“著”的异体字,故没有收录“着”字。康熙字典中的一些部首用字(如“亠”、 “疒”、“辵”、“癶”等)、常见的人名用字(如“堃”、“煊”、“栢”、“喆”等) 也没有收录到Big5之中。

GB18030 字 符集

1.名称的由来

GB 18030的全称是GB18030-2000《信息交换用汉字编码字符集基本集的扩充》, 是我国政府于2000年3月17日发布的新的汉字编码国家标准,2001年8月31日后在中国市场上发布的软件必须符合本标准

2.特点

GB 18030字符集标准的出台经过广泛参与和论证,来自国内外知名信息技术行业的公司,信息产业部和原国家质量技术监督局联合实 施。

GB 18030字符集标准解决汉字、日文假名、朝鲜语和中国少数民族文字组成的大字符集计算机编码问题。该标准的字符总编码空间 超过150万个编码位,收录了27484个汉字,覆盖中文、日文、朝鲜语和中国少数民族文字。满足中国大陆、香港、台湾、日本和韩国等东亚地区信息交换多 文种、大字量、多用途、统一编码格式的要求。并且与Unicode 3.0版本兼容,填补Unicode扩展字符字汇“统一汉字扩展A”的内容。并且与以 前的国家字符编码标准(GB2312,GB13000.1)兼容。

3.编码方法

GB 18030标准采用单字节、双字节和四字节三种方式对字符编码。单字节部 分使用0×00至0×7F码(对应于ASCII码的相应码)。双字节部分,首字节码从0×81至0×FE,尾字节码位分别是0×40至0×7E和0×80 至0×FE。四字节部分采用GB/T 11383未采用的0×30到0×39作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为 0×81308130到0×FE39FE39。其中第一、三个字节编码码位均为0×81至0×FE,第二、四个字节编码码位均为0×30至0×39。

4. 包含的内容

双字节部分收录内容主要包括GB13000.1全部CJK汉字20902个、有关标点符号、表意文字描述符13个、增补的汉 字和部首/构件80个、双字节编码的欧元符号等。  四字节部分收录了上述双字节字符之外的,包括CJK统一汉字扩充A在内的GB 13000.1中的全 部字符。

Unicode字符集

1.名称的由来

Unicode字符集编码是 Universal Multiple-Octet Coded Character Set 通用多八位编码字符集的简称,是由一个名 为 Unicode 学术学会(Unicode Consortium)的机构制订的字符编码系统,支持现今世界各种不同语言的书面文本的交换、处理及显 示。该编码于1990年开始研发,1994年正式公布,最新版本是2005年3月31日的Unicode 4.1.0。 www.444p.com版权所有

2.特征

Unicode是一种 在计算机上使用的字符编码。它为每种语言中的每个字符设定了统一并且唯一的二进制编码,以满足跨语言、跨平台进行文本转换、处理的要求。

3. 编码方法

Unicode 标准始终使用十六进制数字,而且在书写时在前面加上前缀“U+”,例如字母“A”的编码为 004116 和 字符“�”的编码为 20AC16。所以“A”的编码书写为“U+0041”。

4.UTF-8 编码
UTF-8是 Unicode的其中一个使用方式。 UTF是 Unicode Translation Format,即把Unicode转做某种格式的意思。

UTF- 8便于不同的计算机之间使用网络传输不同语言和编码的文字,使得双字节的Unicode能够在现存的处理单字节的系统上正确传输。

UTF- 8使用可变长度字节来储存 Unicode字符,例如ASCII字母继续使用1字节储存,重音文字、希腊字母或西里尔字母等使用2字节来储存,而常用的汉 字就要使用3字节。辅助平面字符则使用4字节。 www.444p.com

5.UTF- 16 和 UTF-32 编码
UTF-32、UTF-16 和 UTF-8 是 Unicode 标准的编码字符集的字符编码方案,UTF- 16 使用一个或两个未分配的 16 位代码单元的序列对 Unicode 代码点进行编码;UTF-32 即将每一个 Unicode 代码点表示为相 同值的 32 位整数。


用php生成utf-8文件

其实用php生成UTF-8的文件没有什么特别的,只要把我们执行的那个PHP文件改成UTF-8编码保存起来,然后页面内容也用UTF-8的编码就可以了。

代码如下:

<?php
header(‘Content-Type: text/html; charset=utf-8′);
$text=”北京星模实训学校,IT实战就业第一选择!”;
$f=fopen(“test.txt”, “wb”);
fwrite($f, $text);
fclose($f);
?>

注意这个php文件一定要存成UTF-8的哦。

当然,如果你非要用ansi编码的文件生成utf-8编码的文件,也不是没有办法。
看下面:

$xml = '北京星模实训学校欢迎你!';
$h = fopen ('1.txt','w');
if ($h) {
	fwrite ($h,"\xEF\xBB\xBF".iconv('gbk','utf-8',$xml));
}
fclose ($h);

不信? 下去试试。呵呵。。。


恭喜星模学员金昊同学找到工作试用3500转正4000

姓名: 金昊

上班时间:05.11

公司名称:北京众安康中医骨科医院

公司地址:北京朝阳红领巾公园对面

试用期限:1个月

试用工资:3500

转正工资:4000

其它说明:无

金昊同学在星模学习期间勤奋努力,是所以星模学员学习的模样!


瞬间让人清醒的话语

1.永远没有一个人是你离不开的,现在离不开的,不代表永远离不开。没有什么是你放弃不了的,你不放弃的,可能会先放弃你也说不定。

2.对付虚伪的人,不是骂ta,不是拆穿ta,而是让ta继续悲哀地虚伪着,然后装作什么也不知道。那么慢慢地,很多人会主动跑来告诉你ta有多虚伪。

3.对付自私的人,不是恨ta,不是不理ta,而是渐渐远离ta,从心底远离ta,然后装作什么都不知道。如果ta去找别人,那么你会发现,很多人都远离了ta。

5.除了父母,没有什么人是不求回报的。恋人对你好是以爱情和谐为前提的,朋友对你好是以共同利益和消除寂寞为前提的。另外的人,就更不用说了。
6.一个人生活虽然很难,但也必须学会一个人,不要轻易依赖别人。这是为了防止你身边的人都离开的时候,你还可以好好活下去。
7.生病的时候,自己要重视自己,不能等着哪个谁来重视你。等到那时候,你会发现自己不管是身体还是心灵都已经很难受了。
8.要学着多和父母联系沟通,要学着多听长辈的话。要学着忍耐,没有什么是你忍不了的,别人再错,也犯不着拿别人的错误惩罚自己。
9.别人和你说的话,不管出于什么初衷,能信但不能全信。但是,别人说的时候,尽量认真听,仔细回应,这是对人的尊重。
10.不要轻易试探你的好朋友,要不你不是很失望,就是多了个”神经病+ 想太多”的帽子。
11.不要轻易对人多愁善感,就算你是真的多愁善感。别人可能不能理解你的多愁善感,也没这个义务和责任。这样的话,你想的发泄就变成了自取其辱和加深痛苦。
12.在任何状况下,不能玩弄别人,玩人必被人玩。你再有心眼,也不是最厉害的那个。
13。不要去抢属于别人的利益,但也不能纵容别人抢自己的。这是原则。
14.没有必要去嫉妒别人.原因有五:
1,别人可能真的付出得比你多,只不过你没看到。
2,这些东西只能带来一时的满足,而不是永久的满足,不要也罢。
3,这里面有你玩不来的游戏规则,玩的来的人也都挺累的。
4,你有不如人的,就一定有比别人好的,静待时机。
5,不争抢这些,你的朋友会更多。
15.能帮助别人的,尽量帮忙。不能帮的,别勉强自己。
16。对于喜欢和你对着干的人,首先要客观的反省自己,改正自己,消除自己的原因。其次,看清楚ta是多么幼稚,让ta一个人不开心好了。
17.对于和自己生活习惯不同的人,把距离拉远一点,然后各自活各自的,不影响别人,也别要求别人改变。
18. 恋爱12条:
1.对待爱情,要客观的看。你们在一起,不一定要有一个目的和目标,未来是未知的。不要嚷着别人什么都对你负责。
2.不要为了摆脱寂寞,轻易在一起,要对别人的真心负责,要让你的爱对得起良心。
3.对待恋人要信任,要不就别把他当恋人。

5.既然是因为爱在一起的,就认真经营这份感情,付出能付出的,结果不重要,善始善终。
6.对于暗恋般的感情,没把握就别去捅破,时间久了,你就看淡了,成长了。
7.你爱的人也是普通人,懂得原谅他们犯的错误,懂得接受他们指出你的缺点和不足。
8。男生不要轻易说出与承诺有关的话,女生不要轻易做需要别人承诺或负责的事。学会在某种程度上,保护好自己。
9.面对别人不素的表白,耐心的倾听,不接受但尽量少的伤害别人。
10.即使爱的火热,也要给自己和对方一个空间,让你们看得清楚,活得自在。
11.对恋人的父母长辈朋友,表现地敬重而虚心。这是一个有素质的人该做的。
12.分了手,就别去打扰彼此的生活。见了面,不要苦大仇深,大方地笑一下…


MySQL中show句法得到表列及整个库的详细信息(精品珍藏)

show databases;
show tables from db_name;

show columns from table_name from db_name;
show index from talbe_name [from db_name];

show status;
show variables;

show [full] processlist;
show table status [from db_name];

show grants for user;

除了 status,processlist和grants外,其它的都可以带有like wild选项,它可以使用SQL的’%'和’_'字符;

show databases like ‘%t’;

将会列出所有数据库名字末尾为’t'字符的数据库

当然了,在这些sql中,你也可以用db_name.table_name来代替 table_name from db_name这样写会更简便些!

如果一个用户没有一个表的任何权限,表将不在SHOW TABLESmysqlshow db_name中的输出中显示

大家可能还记得 describe table_name ,它实现的是与show columns from db_name.table_name一样的效果

show status将可以用mysqlshow –status 来得到同样的效果

含义
Name 表名
Type 表的类型 (ISAM,MyISAM或HEAP)
Row_format 行存储格式 (固定, 动态, 或压缩)
Rows 行数量
Avg_row_length 平均行长度
Data_length 数据文件的长度
Max_data_length 数据文件的最大长度
Index_length 索引文件的长度
Data_free 已 分配但未使用了字节数
Auto_increment 下一个 autoincrement(自动加1)值
Create_time 表被创造的时间
Update_time 数据文件最后更新的时间
Check_time 最后对表运行一个检查的时间
Create_options CREATE TABLE一起使用的额外选项
Comment 当创造表时,使用的注释 (或为什么MySQL不能存取表信息的一些信息)。


SHOW FIELDSSHOW COLUMNS一个同义词,SHOW KEYSSHOW INDEX一个同义词。你也可以用mysqlshow db_name tbl_namemysqlshow -k db_name tbl_name 列出一张表的列或索引。

SHOW INDEX以非常 相似于ODBC的SQLStatistics调用的格式返回索引信息。下面的列被返回:

含义
Table 表名
Non_unique 0,如果索引不能包含重复。
Key_name 索引名
Seq_in_index 索 引中的列顺序号, 从 1 开始。
Column_name 列名。
Collation 列怎样在索引中被排序。在MySQL中,这可以有值A(升 序) 或NULL(不排序)。
Cardinality 索引中唯一值的数量。这可通过运行isamchk -a更改.
Sub_part 如果列只是部分被索引,索引字符的数量。NULL,如果整个键被索引。

SHOW STATUS提供服务 器的状态信息(象mysqladmin extended-status一样)。输出类似于下面的显示,尽管格式和数字可以有 点不同:

+--------------------------+--------+
| Variable_name            | Value  |
+--------------------------+--------+
| Aborted_clients          | 0      |
| Aborted_connects         | 0      |
| Connections              | 17     |
| Created_tmp_tables       | 0      |
| Delayed_insert_threads   | 0      |
| Delayed_writes           | 0      |
| Delayed_errors           | 0      |
| Flush_commands           | 2      |
| Handler_delete           | 2      |
| Handler_read_first       | 0      |
| Handler_read_key         | 1      |
| Handler_read_next        | 0      |
| Handler_read_rnd         | 35     |
| Handler_update           | 0      |
| Handler_write            | 2      |
| Key_blocks_used          | 0      |
| Key_read_requests        | 0      |
| Key_reads                | 0      |
| Key_write_requests       | 0      |
| Key_writes               | 0      |
| Max_used_connections     | 1      |
| Not_flushed_key_blocks   | 0      |
| Not_flushed_delayed_rows | 0      |
| Open_tables              | 1      |
| Open_files               | 2      |
| Open_streams             | 0      |
| Opened_tables            | 11     |
| Questions                | 14     |
| Slow_queries             | 0      |
| Threads_connected        | 1      |
| Threads_running          | 1      |
| Uptime                   | 149111 |
+--------------------------+--------+

上 面列出的状态变量有下列含义:

Aborted_clients 由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。
Aborted_connects 尝 试已经失败的MySQL服务器的连接的次数。
Connections 试图连接MySQL服务器的次数。
Created_tmp_tables 当执行语句 时,已经被创造了的隐含临时表的数量。
Delayed_insert_threads 正在使用的延迟插入处理器线程的数量。
Delayed_writes INSERT DELAYED写入的行数。
Delayed_errors INSERT DELAYED写入的发生某些错误(可能重复键值) 的行数。
Flush_commands 执行FLUSH命令的次数。
Handler_delete 请 求从一张表中删除行的次数。
Handler_read_first 请求读入表中第一行的次数。
Handler_read_key 请求数字基于键读行。
Handler_read_next 请求读入基于一个键的一行的次数。
Handler_read_rnd 请求读入基于一个固定位置的一 行的次数。
Handler_update 请求更新表中一行的次数。
Handler_write 请求向表中插入一行的次数。
Key_blocks_used 用于关键字缓存的块的数量。
Key_read_requests 请求从缓存读入一个键值的次数。
Key_reads 从磁盘物理读入一个键值的次数。
Key_write_requests 请求将一个关键字块写入缓存次数。
Key_writes 将一个键值块物理写入磁盘的次 数。
Max_used_connections 同时使用的连接的最大数目。
Not_flushed_key_blocks 在键缓存中 已经改变但是还没被清空到磁盘上的键块。
Not_flushed_delayed_rows INSERT DELAY队列中等待写入的行的数量。
Open_tables 打开表的数量。
Open_files 打开文件的数量。
Open_streams 打开流的数量(主要用于日志记载)
Opened_tables 已经打开的表的数量。
Questions 发往服务器的查询的数量。
Slow_queries 要花超过long_query_time时 间的查询数量。
Threads_connected 当前打开的连接的数量。
Threads_running 不在睡眠的线程数量。
Uptime 服务器工作了多少秒。

关于上面的一些注释:

  • 如果Opened_tables太大,那么你的table_cache变 量可能太小。
  • 如果key_reads太大,那么你的key_cache可 能太小。缓存命中率可以用key_reads/key_read_requests计算。
  • 如果Handler_read_rnd太大,那么你很可能有大量的查询需要MySQL扫描整个表或你有没正确 使用键值的联结(join)。

SHOW VARIABLES显示出一些MySQL系 统变量的值,你也能使用mysqladmin variables命令得到这个信息。如果缺省值不合适,你能在mysqld启 动时使用命令行选项来设置这些变量的大多数。输出类似于下面的显示,尽管格式和数字可以有点不同:

+------------------------+--------------------------+
| Variable_name          | Value                    |
+------------------------+--------------------------+
| back_log               | 5                        |
| connect_timeout        | 5                        |
| basedir                | /my/monty/               |
| datadir                | /my/monty/data/          |
| delayed_insert_limit   | 100                      |
| delayed_insert_timeout | 300                      |
| delayed_queue_size     | 1000                     |
| join_buffer_size       | 131072                   |
| flush_time             | 0                        |
| interactive_timeout    | 28800                    |
| key_buffer_size        | 1048540                  |
| language               | /my/monty/share/english/ |
| log                    | OFF                      |
| log_update             | OFF                      |
| long_query_time        | 10                       |
| low_priority_updates   | OFF                      |
| max_allowed_packet     | 1048576                  |
| max_connections        | 100                      |
| max_connect_errors     | 10                       |
| max_delayed_threads    | 20                       |
| max_heap_table_size    | 16777216                 |
| max_join_size          | 4294967295               |
| max_sort_length        | 1024                     |
| max_tmp_tables         | 32                       |
| net_buffer_length      | 16384                    |
| port                   | 3306                     |
| protocol-version       | 10                       |
| record_buffer          | 131072                   |
| skip_locking           | ON                       |
| socket                 | /tmp/mysql.sock          |
| sort_buffer            | 2097116                  |
| table_cache            | 64                       |
| thread_stack           | 131072                   |
| tmp_table_size         | 1048576                  |
| tmpdir                 | /machine/tmp/            |
| version                | 3.23.0-alpha-debug       |
| wait_timeout           | 28800                    |
+------------------------+--------------------------+
SHOW PROCESSLIST显示哪个线程正在运行,你也能使用mysqladmin processlist命令得到这个信息。
如果你有process权限, 你能看见所有的线程,否则,你仅能看见你自己的线程。
 见7.20 KILL句法。如果你不使用FULL选项,那么每个查询只有头100字符被显示出来。 

SHOW GRANTS FOR user列出对一个用户必须发出以重复授权的授权命令。
mysql> SHOW GRANTS FOR root@localhost;
+---------------------------------------------------------------------+
| Grants for root@localhost                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO 'root''localhost' WITH GRANT OPTION  |
+---------------------------------------------------------------------+

mysql默认编码设置成gbk,解决dos下查询中文乱码的问题!

通常情况下,当我们数据库用的是gbk的编码,在 php和 phpmyadmin中查询中文都没什么问题。但是一旦我们是从命令行用dos窗口登录的。查询出来的结果中有中文的,就会出现乱码问题。解决这个问题的方法就是设置mysql的默认编码为gbk;

具体如下:

MySQL的默认编码是Latin1,不支持中文,那么如何修改MySQL的默认编码呢,下面以gbk为例来说明

需要注意的是,要修改的地方非常多,相应的修改方法也很多。下面是一种最简单最彻底的方法:

一、Windows
1、中止MySQL服务
2、在MySQL的安装目录下找到my.ini,如果没有就把my-medium.ini复制为一个my.ini即可
3、打开my.ini以后,在[client]和[mysqld]下面均加上default-character-set=gbk,保存并关闭
4、启动MySQL服务

二、Linux
1、中止MySQL服务(bin/mysqladmin -u root shutdown)
2、在/etc/下找到my.cnf,如果没有就把MySQL的安装目录下的support-files目录下的my-medium.cnf复制到/etc/下并改名为my.cnf即可
3、打开my.cnf以后,在[client]和[mysqld]下面均加上default-character-set=utf8,保存并关闭
4、启动MySQL服务(bin/mysqld_safe &)

非常简单,这样的修改一劳永逸,今后MySQL一切相关的默认编码均为UTF-8了,创建新表格的时候无需再次设置

需要注意的是,当前数据库中已经存在的数据仍保留现有的编码方式,因此需要自行转码,方法在网上有很多,不再赘述

window 下设置截图:

# The following options will be passed to all MySQL clients
[client]
#password    = your_password
port        = 3306
socket        = /tmp/mysql.sock
default-character-set=gbk

# Here follows entries for some specific programs

# The MySQL server
[mysqld]

设置前的查询结果:

mysql> select * from nav;
+—-+———-+————–+———–+
| id | nav_name | nav_link     | nav_order |
+—-+———-+————–+———–+
|  1 | ??         | new_list.php    |         1 |
|  4 | 222       | 222                |        22 |
|  3 | ??         | message.php   |       33 |
|  5 | ????      |                       |         0 |
+—-+———-+————–+———–+
4 rows in set (0.00 sec)

设置好重启mysql之后的结果 :
mysql> select * from nav;
+—-+———-+————–+———–+
| id | nav_name | nav_link     | nav_order |
+—-+———-+————–+———–+
|  1 | 新闻     | new_list.php |         1 |
|  4 | 222      | 222              |        22 |
|  3 | 留言     | message.php  |        33 |
|  5 | 网站首页 |                 |         0  |
+—-+———-+————–+———–+
4 rows in set (0.00 sec)

如果 你的编码是utf-8,刚调成utf8重启即可。


php中glabal与$GLOBALS的区别

1、global用在函数内,仅起到引用外部变量的作用。
2、$GLOBALS定的变量才是真正意义的全局变量,在什么环境下都能用。


JS中setTimeout与setInterval的区别

timeId=window.setTimeout(“method()”,1000);     window.clearTimeout(timeId);定时执行

timeId=window.setInterval(“method()”,1000);     window.clearInterval(timeId);循环执行


javascript关键字高亮显示

<script language=”JavaScript”>
function highlight(key) {
var key = key.split(‘|’);
for (var i=0; i<key.length; i++) {
var rng = document.body.createTextRange();
while (rng.findText(key[i]))
//rng.pasteHTML(rng.text.fontcolor(‘red’));
rng.pasteHTML(‘<div style=”border:1 solid red;display:inline”><a href=”#” title=’+ rng.text +’>’ + rng.text + ‘</a></div>’);
}
}
highlight(‘fanglor|php,as 3培训|星模实训’)
</script>


初学php+mysql 10句话

1.不要依赖register_global=ON的环境,从你刚懂得配置php运行环境甚至尚不明白register_global的ON/OFF会对自己有什么影响的那天起,就应该勇敢地把它设为OFF.

2.写程序前看看怎么用error_reporting.

3.不懂就问本身没错,但你需要在那之前查查手册。

4.当然,你需要懂得使用手册。手册上找不到答案的时候,应该考虑下网络上的搜索引擎。

5.刚学会php+mysql之后,不要叫嚷着要写论坛,要写XXX。要明白,刚学会写汉字并不表示你有能力写诗。

6.在学web编程的时候,你应该先去认识html这个朋友。

7.有点能力后,试着回答新手的问题,不要看到自己懂的而别人不懂就沾沾自喜,扔下一名“简单,那是基本的东西”就走更要不得。

8.思考是一个好习惯,不动手去写就等于空想,什么也没有。

9.写好一段程序,如果觉得很满意,一周后再看一遍,也许你会认为它应该有所改变

10.有空多看看别人的程序,找出他人的不足或优点,自己掂量。


php中临时变量的使用

临时变量的滥用会导致程序运行效率的降低。何时使用临时变量可基于以下两点考虑:
1、该变量是否至少使用两次。
2、该变量的使用是否会显著提高程序的可读性。
如果一条也不满足,则省略该变量的使用。例如:

<?php
$tmp = date (“F d, h:i a”); /* ie January 3, 2:30 pm */
print $tmp;
?>
就应该改成:
<?php
print date (“F d, h:i a”);
?>

又如:

<?php

// string reverse_characters(string str)
// Reverse all of the characters in a string.
function reverse_characters ($str)
{
return implode (“”, array_reverse (preg_split(“//”, $str)));
}

?>
的可读性不强,可改成:

<?php

// string reverse_characters(string str)
// Reverse all of the characters in a string.
function reverse_characters ($str)
{
$characters = preg_split (“//”, $str);
$characters = array_reverse ($characters);

return implode (“”, $characters);
}

?>