在選擇用什么工具開發,唯一的指導標准就是:用最少的人力,最少的時間開發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了。