另一个PHP分页类(Pagination)

Posted by linyupark :: 2007,November 22nd,12:08 pm

以前放那个分页类在用的时候发现了点问题,自定义的空间比较小,在AJAX分页的时候就没不能法用了。刚好自己在做个整站类库,今天更新到分页了,再发布一下,希望能对一些朋友有帮助

字符编码噩梦结束日 (MYSQL && PHP)

Posted by linyupark :: 2007,November 2nd,19:41 pm

这几天在WIN/LINUX两个平台来回测试编码。
原先一直使用框架,UTF-8拿来存进都没啥问题。
统一一个编码原则是对路的。
但今天用了PHP自己的MYSQLI类,发现读取原来正常的数据又变问号了。
一气之下把所有MYSQL配置文件
[mysql],[mysqld],[client]下的default-character-set=都变成了utf8。
进mysql控制台
SHOW VARIABLES LIKE ‘character_set_%’;
齐刷刷的utf8,想这样就应该没问题了。
但,还是问号。
使用了mysqli_character_set_name(),返回了latin1。
噩梦….
原来PHP和MYSQL都统一才行…
找到了一个函数mysqli_set_charset()。
设置成utf8,终于OK了。
再次向框架制作者致敬…

JS分段获取URL解析

Posted by linyupark :: 2007,November 1st,21:56 pm

URL : 统一资源定位符 (Uniform Resource Locator, URL)
完整的URL由这几个部分构成:
scheme://host:port/path?query#fragment
scheme  = 通信协议 (常用的http,ftp,maito等)
host = 主机 (域名或IP)
port = 端口号
path = 路径
query = 查询
可选,用于给动态网页(如使用CGI、ISAPI、PHP/JSP/ASP/ASP.NET等技术制作的网页)传递参数,可有多个参数,用”&”符号隔开,每个参数的名和值用”=”符号隔开。
fragment = 信息片断
字符串,用于指定网络资源中的片断。例如一个网页中有多个名词解释,可使用fragment直接定位到某一名词解释。(也称为锚点.)
对于这样一个URL
http://www.netvtm.com:80/post/?ver=1.0&id=6#imhere
我们可以用javascript获得其中的各个部分
1, window.location.href
整个URl字符串(在浏览器中就是完整的地址栏)
2,window.location.protocol
URL 的协议部分
本例返回值:http:
3,window.location.host
URL 的主机部分
本例返回值:www.netvtm.com
4,window.location.port
URL 的端口部分
如果采用默认的80端口(update:即使添加了:80),那么返回值并不是默认的80而是空字符
本例返回值:””
5,window.location.pathname
URL 的路径部分(就是文件地址)
本例返回值:/post/
6,window.location.search
查询(参数)部分
除了给动态语言赋值以外,我们同样可以给静态页面,并使用javascript来获得相信应的参数值
本例返回值:?ver=1.0&id=6
7,window.location.hash
锚点
本例返回值:#imhere

MySQL 数据库字符编码转换

Posted by linyupark :: 2007,November 1st,7:59 am

Mysql数据库的字符编码转换还真是相当的麻烦
当初不小心用了GBK现在要回到utf-8,而数据已经非常大了
网上找了无数资料,一般都是利用mysqldump加iconv再导回去,但做了之后发现会有错误。还有比较夸张的方法是用编辑器来转换编码,这对于海量数据根本行不通。
最后还是利用了Navicat来解决。
我使用的方法比较保险,用了远程和本地两个数据库。
远程的是gbk编码,想转成utf-8的。
直接在Navicat中建立两条连接,一条是连接远程的,将连接字符编码设置为gbk。
本地设置为utf-8或者数据库默认是utf-8就选择默认的连接字符编码。
选择使用DATA TRANSFER并按步骤将远程数据库中的数据传到本地上。
完成后可以检查本地的数据,应该就是utf-8格式了,修改连接字符编码再将本地的数据导到远程的。
这样就实现了数据库字符编码的转换工作,而且相当的安全。