在选择用什么工具开发,唯一的指导标准就是:用最少的人力,最少的时间开发JavaEye网站,并且后期维护和持续升级,乃至重写的时候,代价最小。

首先排除Java和C#,代码太多太麻烦; 
其次排除PHP,项目一大,代码一多,代码的管理很成问题,PHP缺乏一个起码的包管理机制;

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。
最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些。 让我郁闷了好一会儿,去网上一查资料才知道这是iconv函数的一个bug。iconv在转换字符”—”到gb2312时会出错
解决方法很简单,就是在需要转成的编码后加 “//IGNORE” 也就是iconv函数第二个参数后.如下:
以下为引用的内容:
iconv(”UTF-8″,”GB2312//IGNORE”,$data)
ignore的意思是忽略转换时的错误,如果没有ignore参数,所有该字符后面的字符串都无法被保存。

这个iconv()这个函数,在php5中是内置的.谢谢.

列子
<?php
echo $str= ‘你好,这里是卖咖啡!’;
echo ‘<br />’;

echo iconv(’GB2312′, ‘UTF-8′, $str);      //将字符串的编码从GB2312转到UTF-8
echo ‘<br />’;

echo iconv_substr($str, 1, 1, ‘UTF-8′);   //按字符个数截取而非字节         
print_r(iconv_get_encoding());            //得到当前页面编码信息

echo iconv_strlen($str, ‘UTF-8′);         //得到设定编码的字符串长度

//也有这样用的

$content = iconv(”UTF-8″,”gbk//TRANSLIT”,$content);
?>

当时重点考察Python和Ruby,因为有豆瓣的先例,开始很倾向于Python,而且我那个时候对Python比较熟悉,还曾经痴迷过一段时间的wxPython,对Zope和plone也有一些研究。 货运代理

但后来比较了Rails和Django之后,就倾向于Rails了,差距实在太大了,而且当时Django很不成熟,在很早期的版本。其实即便现在Django和Rails的差距也没有缩小过。

但让我最终下定决心的是potian在05年就大规模使用Rails的实际工程经验,我曾经去杭州就我比较质疑的问题当面请教过他,和他谈过以后,就决定用Rails了。

 

【转载】php中iconv函数使用方法的更多相关文章

  1. php中iconv函数使用方法

    最近在做一个程序,需要用到iconv函数把抓取来过的utf-8编码的页面转成gb2312, 发现只有用iconv函数把抓取过来的数据一转码数据就会无缘无故的少一些. iconv函数库能够完成各种字符集 ...

  2. vlookup函数基本使用--如何将两个Excel表中的数据匹配;excel表中vlookup函数使用方法将一表引到另一表

    vlookup函数基本使用--如何将两个Excel表中的数据匹配:excel表中vlookup函数使用方法将一表引到另一表 一.将几个学生的籍贯匹配出来‘ 二.使用查找与引用函数 vlookup 三. ...

  3. 查看dll中的函数(方法)

    https://jingyan.baidu.com/article/5553fa82b953b365a23934b7.html 查看dll中的函数(方法) 听语音 | 浏览:2004 | 更新:201 ...

  4. shell 从函数文件中调用函数的方法

    你可以把所有的函数存储在一个函数文件中 你可以把所有的文件函数加载到当前脚本或命令行 加载函数文件中所有函数的方法: source xxx.sh

  5. 转载-Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast

    Java中LinkedList的一些方法—addFirst addFirst getFirst geLast removeFirst removeLast 版权声明:本文为博主原创文章,遵循CC 4. ...

  6. MySQL中count函数使用方法详解

      count函数是用来统计表中或数组中记录的一个函数,下面我来介绍在MySQL中count函数用法与性能比较吧. count(*) 它返回检索行的数目, 不论其是否包含 NULL值. SELECT ...

  7. odoo继承父类中的函数(方法)

    使用_inherit继承父类重新设计新类时,可以调用父类中的函数,具体为: 第一步:获得某个模型('model.name')的数据集并进行某种集合操作(model_function),从而获得想要的数 ...

  8. [转载] Java中常用的加密方法

    转载自http://www.iteye.com/topic/1122076/ 加密,是以某种特殊的算法改变原有的信息数据,使得未授权的用户即使获得了已加密的信息,但因不知解密的方法,仍然无法了解信息的 ...

  9. fmt 包中的函数和方法

    / Fprintf 将参数列表 a 填写到格式字符串 format 的占位符中// 并将填写后的结果写入 w 中,返回写入的字节数func Fprintf(w io.Writer, format st ...

随机推荐

  1. 配置高可用的Hadoop平台

    1.概述 在Hadoop2.x之后的版本,提出了解决单点问题的方案--HA(High Available 高可用).这篇博客阐述如何搭建高可用的HDFS和YARN,执行步骤如下: 创建hadoop用户 ...

  2. Mysql忘记用户密码的解决办法

    1.1 忘记用户密码的解决办法 普通用户,直接用root超级管理员登录进去修改密码就可以了,但是如果root密码丢失了,怎么办呢? 1.1.1 msyqld_saft方式找回密码 停止mysql:se ...

  3. windows下Redis编译安装

    redis是现在比较流行的noSQL,主流大型网站都用的比较多,很多同学不知道怎么安装,这里介绍在windows下面安装以及扩展,提供学习使用,实际使用环境多在Linux下. 首先到相应网站下载red ...

  4. Kafka深入理解-2:Kafka的Log存储解析

    摘自http://blog.csdn.net/jewes/article/details/42970799 引言 Kafka中的Message是以topic为基本单位组织的,不同的topic之间是相互 ...

  5. 2016.02.02 JS事件

    今天看完JS事件部分,所剩时间不多,务必分秒珍惜.

  6. Android 下拉刷新框架实现

    原文地址:http://blog.csdn.net/leehong2005/article/details/12567757 前段时间项目中用到了下拉刷新功能,之前在网上也找到过类似的demo,但这些 ...

  7. Java NIO教程 Buffer

    缓冲区本质上是一块可以写入数据,然后可以从中读取数据的内存,这块内存中有很多可以存储byte(或int.char等)的小单元.这块内存被包装成NIO Buffer对象,并提供了一组方法,用来方便的访问 ...

  8. 根据关键词kill进程

    #!/bin/sh pid=`ps -ef | grep /usr/bin/memcached | grep -v grep | awk '{print $2}'` kill $pid

  9. Selenium2+python自动化7-xpath定位

    前言 在上一篇简单的介绍了用工具查看目标元素的xpath地址,工具查看比较死板,不够灵活,有时候直接复制粘贴会定位不到.这个时候就需要自己手动的去写xpath了,这一篇详细讲解xpath的一些语法. ...

  10. OutSystems学习一,安装以及入门

    官方网站:http://www.outsystems.com/home/HomePage.aspx 安装完成后,在官网申请自己的管理云平台 启动客户端 详细参考帮助,跟着走就行