不同语言的URLEncode

[不指定 2006/09/01 12:44 | by ipaddr ]
不同语言的URLEncode

1.javascript
encodeURIComponent 方法
将文本字符串编码为一个统一资源标识符 (URI) 的一个有效组件。

encodeURIComponent(encodedURIString)

必选的 encodedURIString 参数代表一个已编码的 URI 组件。

说明
encodeURIComponent 方法返回一个已编码的 URI。如果您将编码结果传递给 decodeURIComponent,那么将返回初

始的字符串。因为 encodeURIComponent 方法对所有的字符编码,请注意,如果该字符串代表一个路径,例如

/folder1/folder2/default.html,其中的斜杠也将被编码。这样一来,当该编码结果被作为请求发送到 web 服务

器时将是无效的。如果字符串中包含不止一个 URI 组件,请使用 encodeURI 方法进行编码。

2.PHP

urlencode()
urldecode()

3.ASP
Server.UrlEncode

bash中的比较

[不指定 2006/08/16 09:35 | by ipaddr ]
bash中的比较

BASH中字符串和数字的比较各不相同,详见下表:

对应的操作   整数操作 字符串操作
相同          -eq         =
不同          -ne        !=
大于          -gt         >
小于          -lt         <
大于或等于    -ge
小于或等于    -le
为空                      -z
不为空                    -n

判断字符串是否为空时,使用-z或-n,如下用法:
#!/bin/bash
IPADDR=""
if [ -n "$IPADDR" ] #注意,一定要加上双引号
then
echo "Fail"
fi

IIS报错:
msxml3.dll (0x80070005)
拒绝访问

解决办法:


Set objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP")
改为
Set objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.3.0")

Set objSrvHTTP = Server.CreateObject("MSXML2.ServerXMLHTTP.4.0")
关闭XP系统主题在IE中的显示
如果开发环境是XP系统,IE中的input标签会和XP系统主题相符合,影响了外观的统一,采用下列方法可以关闭.
添加下列 META 标记,可以选择使得您的 HTML 内容对于某些元素(如按钮和滚动条)不采用与该操作系统相同的外观:

[code]<META HTTP-EQUIV="MSThemeCompatible" Content="No">[/code]

关闭IE的图像工具栏
IE的图像工具栏有时候很讨厌,在MSDN上无意中发现了关闭方法
图像工具栏可以通过 meta 标记 <META HTTP-EQUIV="imagetoolbar" CONTENT="no"> 来禁用,也可以通过对 IMG 标记元素设置属性 GALLERYIMG="no" 来禁用。

[code]<META HTTP-EQUIV="imagetoolbar" CONTENT="no">[/code]

Eclipse下的CVS忽略

[不指定 2006/08/08 13:25 | by ipaddr ]
Eclipse内置对CVS的集成.
通常情况下,一个Project可能会有部分文件不需要由CVS管理,比如,BIN,uploadfiles之类的文件.
正常方式是在share project时使用addto cvs.ignore忽略不需要CVS管理的文件或文件夹,
但偶尔也会误操作,导致一些不需要的文件进入CVS,这里,你可以如下解决:
假设你的网站根目录有/uploadfiles/不需要提交到CVS
1.在不需要提交进CVS的文件或文件夹的所在目录(/),建立一个.cvsignore文件,将不需要提交到CVS的文件或文件夹在这个文件里列出来,每行一个文件
2.每个目录都会有一个CVS工作目录,进入/uploadfiles/下面,将所有的CVS目录删除
3.进入根目录的/CVS下面,打开Entries文件,将uploadfiles行删除
再用Eclipse进行CVS操作时,该目录会被忽略.

另外,如果CVS服务端修改了module名,客户端需要对应module目录下所有子目录上的CVS里的Repository文件.

Apache+PHP+Mysql中的mysql_pconnect研究

mysql_pconnect --  PHP打开一个到 MySQL 服务器的持久连接

通常情况下,使用pconnect代替connect,会带一定的性能提升,详情请参考我写的PHP-JPS性能不完全测试(http://www.eit.name/other/phpjsp.htm)
一直漂(ipaddr,bcomcn)原创,转载请注明

但使用Pconnect会经常的导致Mysql连接失败,提示连接太多,原因在于pconnect后,Apache不会自动关闭mysql的连接.
先来看看APACHE的工作模式
Windows下,Apache使用一个主进程,加一个辅进程,再由辅进程派生N个线程的方式来提供服务,线程的数量可以在httpd.conf里配置:ThreadsPerChild 500,如果指定为500线程,则apache一启动时就会启动500个线程,但最多也只使用500个线程,如果同时连接数量超过500个(可能300个用户访问就有500个连接,判断当前连接的方法,可以使用netstat -na|grep 80|grep EST|wc -l或者使用apache的status module),那么,多余的连接将会在等待或者连接失败.(所以,Windows下Apache的主要配置参数应该是ThreadsPerChild,先根据当前的连接数,再看看有没有必要调大一些,一般PC服务器设置为1000算是比较大了.)
Nix下,Apache使用进程的方式来运行,原理相同,需要调整进程数量的参数有几个,比如ServerLimit.

再来看看Apache+PHP+Mysql_pconnect的工作方式
每当客户端向服务端发送一个连接请求(包括图片,HTML,PHP等),apache将会用一个线程来接受这个请求,如果是请求的是一个PHP文件,且PHP文件里使用了PConnect,则当前线程会判断当前线程有没有打开过pconnect,如果有打开过,则使用原来的mysql connect,如果没有打开过,则新建一个connect,并且,连接断开后,线程仍在运行,而且保持Mysql connect.按这种方式运行一段时间后,完全有可能所有apache的线程都打开过有Pconnect的Php页面,所以,如果apache的ThreadsPerChild=500的话,则500个线程都找开了mysql连接,并且没有关闭,则就要求,mysql的连接数必须大于或等于500,如果小于这个值,将会导致PHP页面提示数据库连接失败.

所以,得出结论,Apache+PHP+Mysql下使用pconnect时,mysql的max_connect必须大于或等于apache的最大线程(进程)数.在一个访问量很大的站点,使用pconnect可能不太现实,最好的办法是,尽可能的将数据库内容生成为静态文件,而不需要每个页面都连接数据库,并且使用mysql_connect(即使将绝大多数页面生成为静态文件,但仍有mysql_pconnect时,同样要求mysql的max_connect大于apache的线程数,所以这种情况下使用pconnect非常不可取).

Windows+Apache下PHP安装iconv

[不指定 2006/07/18 23:33 | by ipaddr ]
Windows+Apache下PHP安装iconv

Nix下安装PHP的module,需要重新编译PHP,Windows下安装模板,只需将php.ini里的配置打开相应的dll就可,例如,需要加入gb库的支持,需要如下设置:
extension_dir = "C:/ipaddr/php/extensions/"
(注意,建议写全地址,并且后面加上/,很多时候是因为这里设置不对,才导致无法加载其它模块的dll的)
再打开
extension=php_gd2.dll
但如果是安装iconv.dll,按上面方法,打开php_iconv.dll后,还是无法开启iconv模块,需要如下配置:
a.上iconv的官方下载站点
http://ftp.gnu.org/pub/gnu/libiconv/
下面Windows版的iconv文件:libiconv-1.9.1.bin.woe32.zip
将这文件解压,将bin/下面的charset.dll,iconv.dll,iconv.exe拷贝到c:/windows/ (或其它的系统PATH中)
(ipaddr提醒你,这步是必须的,php_iconv.dll也是调用GNU的iconv库的,所以,先要安装GNU的iconv库)

b.开启php.ini里面的php_iconv.dll

c.重启Apache,再在phpinfo();检测是否开启iconv。

LoadRunner的VUser Gen在录制Script时,如果网站采用的是UTF8编码,录出来的脚本,很多乱码,需要设置一下LoadRunner,方法如下:

在Virtual User Gen的Tools->Recoding Options -> Advanced -> Support charset -> UTF-8

就OK了.(一直漂原创,转载请注明

javascript判断变量是否定义

[不指定 2006/06/23 23:34 | by ipaddr ]
直接使用未定义的Javascript变量时,页面会报错并无法执行,比如

if (varName=="")

{

}

需要先判断变量是否定义,使用typeof函数可以判断,如下使用:

if (typeof(ipaddr)=='undefined')

{

window.alert('ipaddr未定义');

}

Windows下安装Apache,PHP,Mysql,PHPMyAdmin,

PHPMyAdmin提示没有发现 PHP 的扩展设置mbstring,主要原因是PHP不支持mbstring

解决办法:

1.Nix下,编译PHP时加上mbstring支持

2.Windows下,配置php.ini

extension_dir = "c:/php/extensions/"
(建议写全路径,并且,后面要带/)

extension=php_mbstring.dll

可能通过查看phpinfo();来确认php.ini的位置以及PHP当前支持的一些特性。

分页: 10/13 第一页 上页 5 6 7 8 9 10 11 12 13 下页 最后页 [ 显示模式: 摘要 | 列表 ]