分类“互联网应用”下的文章

收集的流媒体服务器的相关资料

今天有人问到怎么架设流媒体服务器,在网上搜了半天,收集到一些资料,还没来得及看完。发出来,希望能帮到有同样需求的人。

helix_server配置

http://wenku.baidu.com/view/08699ce9856a561252d36f4b.html

基于MMS的流媒体服务器系统性能的研究

http://wenku.baidu.com/view/db1184f34693daef5ef73dbe.html

流媒体知识大全、流媒体服务器设置教程

http://wenku.baidu.com/view/c67ebd00bed5b9f3f90f1c61.html

Linux平台下的视频点播服务器的安装

http://www.linuxsir.com/bbs/showthread.php?s=&threadid=9045

Windows Media Server搭建流媒体服务器

http://school.cfan.com.cn/net/lan/2006-10-20/1161326457d19860.shtml

用Helix Server组建视频服务器

http://www.pconline.com.cn/server/apply/0312/281928.html

让同事都看上世界杯 流媒体服务器架设

http://tech.sina.com.cn/h/2006-06-05/08542263.shtml

小型流媒体电影服务器设计

http://www.pclw.com/wl/010.html

WIN7下QQ升级安装不上怎么办?

好多安装WIN7的人都深有感觉,系统安装好之后,自带的一个QQ版本过低,卸载之后,新版本的QQ老是提示安装失败。我用的是大地的WIN7旗舰版,就遇到过这个问题。 追其原因,还是因为我们卸载的不够彻底。现在好了,刚找到微软自己出的一款小工具 windows installer clean up,可以轻而易举地删除某个程序的安装信息。如果您在安装程序的过程中也遇到了安装方面的问题,不妨试试用windows installer clean up来删掉以前程序的安装信息后再试。

下面我们还是来说一下怎么用这个小工具卸载QQ吧。

看图:

WIN7下怎么安装QQ

win7下QQ安装不了怎么办?

运行软件,选中QQ,点击remove 就 ok了。现在让我们再来安装QQ试下看是不是可以安装了呢。

win7图标修复

今天用优化大师清理过冗余注册表之后,再打开文件夹时,发现文件图标好多都不见了。 于是在网上搜了一下,找到一个脚本 。

taskkill /f /im Explorer.exe

CD /d %userprofile%\AppData\Local

DEL IconCache.db /a

start Explorer.exe


新建一个文本,把这段批处理复制过去,保存为.bat的文件(批处理文件),然后一运行,就好了。

转载请注明来自北京php讲师 方龙的博客  北京php培训,就去北京星模实训学校。

博客升级,部分数据丢失,如有发现友情链接不在了请留言。

昨天,把我的博客 wordpress升级 了一下,最近发现问题很多,以前的一些插件不能用了,还有就是留言评论什么的,当时是导出的xml,导进去之后才发现没有了。郁闷。 有情链接好像也不在里面,最后只能一个一个的加,难免有疏漏的地方,如果大家发现了,请给我留言,我好加上。

2010-07-27 星模实训fanglor

国外php框架一览表

详细可参看 http://www.phpframeworks.com ,上面有很详细的比较列表。

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

字符是各种文字和符号的总称,包括各国家文字、标点符号、图形符号、数字等。字符集是多个字符的集合,字符集种类较多,每个字符集包含的字符个数不同,常见字符集名称: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-0×7E及 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的哦。

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定的变量才是真正意义的全局变量,在什么环境下都能用。