分類目錄歸檔:信息處理

讀取mdf格式的sql server數據文件,並將數據以CSV格式導出

多年以前使用過微軟的SQL Server 2000數據庫。留下一個mdf格式的數據文件,臨時用到想把它導出。過程真可以使用災難來形容。現在不用使用微軟的東西來工作了,真是好運啊。

我使用的是MS SQL Express 2005。要在Windows 7上安裝,得安裝SP4版本。安裝後使用它附加上mdf文件。數據庫就可以在上面查詢了。在查詢窗口輸入:

EXEC xp_cmdshell
'BCP "dbname.dbo.tablename" out d:\aa.csv -t , -T -SMY-PC\SQLEXPRESS -w'

這樣的命令,就能將數據導出CSV到文件。其中-t後面的是分隔符,這裡使用的是逗號,注意這樣如果原來數據中也有逗號,會產生數據分隔出問題,這時可以改用其它符號(如####)。-w是指定使用unicode文字編碼輸出。重點是要加-S參數,指定自己的PC名稱\SQLEXPRESS, 不然會連接出錯,錯誤提示如:

[SQL Native Client]Named Pipes Provider: Could not open a connection
to SQL Server [2].
[SQL Native Client]Login timeout expired
[SQL Native Client]An error has occurred while establishing a
connection to the server. When connecting to SQL Server 2005, this
failure may be caused by the fact that under the default settings SQL
Server does not allow remote connections.

發表在 信息處理 | 標籤為 , , , | 留下評論

mysql不能儲存生僻漢字?試試utf8mb4字符集

今天發現存進mysql的數據部分丟失了。發現丟失的都是一些生僻的漢字。我這個mysql使用的是utf8字符集,之前一直以為不會發生這種問題,今天才看到了。而且這個問題很早就存在了。這是mysql的一個bug,它的UTF-8字符集只能存儲3字節字符,而有部分生僻的漢字是4個字節的,存入時就會出錯:

ActiveRecord::StatementInvalid: Mysql::Error: Incorrect string value: ‘\xF0\x90\x8D\x83\xF0\x90…’ for column ‘content’ at row 1

上面的官方bug頁面說要到mysql6.0才會解決。其實這個問題在mysql 5.5就解決了。5.5或以上的mysql都可以通過使用utf-16或utf8mb4等字符集解決這個問題。

不過使用ruby on rails的話可能需要一些額外的設置

發表在 信息處理 | 標籤為 , , , , , | 留下評論

再談Nginx Rewrite, 中文URL和其它

上次談到過Nginx和中文URL的問題,這幾天又加深了認識。 多分享幾個關於Nginx Rewrite的經驗。

Nginx匹配指定中文URL的方法:

rewrite "(*UTF8)^\x{66f4}\x{6539}$" /index.html last;

這個會將 http://www.cslog.cn/%E6%9B%B4%E6%94%B9 重定向到http://www.cslog.cn/index.html。
‘/%E6%9B%B4%E6%94%B9′是中文URL ‘/更改’, \x{66f4}\x{6539}是這兩個漢字的Unicode編碼。

注意配合PCRE 7.9以上版本使用,詳細看Nginx和中文URL的問題
繼續閱讀

發表在 信息處理, 站長文檔 | 標籤為 , , , , , , , , , , , , , | 一條評論

Nginx、PCRE和中文URL(UTF8編碼)rewrite路徑重寫匹配問題

最近遇到了使用Nginx 重寫中文UTF8編碼路徑的問題。 才發現默認情況下Nginx的rewrite是不支持UTF8匹配的。 比如:

rewrite ^/(..)$ /2個字符文章.html break; #用2個點
可以匹配到 /ab 或 /51, 但 /漢字 是匹配不到的。 我測試了一下, 要匹配兩個字的 /漢字 路徑, 得用

rewrite ^/(……)$ /2個漢字文章.html break; #要用六個點

如果要讓 ^/(..)$ 匹配到2個漢字字符,得開啟Nginx對UTF8字符的正則支持, 準確點說是開啟Nginx使用的PCRE庫的對UTF8字符的支持。因為Nginx的rewrite模塊是調用PCRE來處理正則的。 如果PCRE沒有問題,Nginx支持UTF8編碼的重寫樣式是:

rewrite "(*UTF8)^/(..)$" /2個字符文章.html break;
#注意(*UTF8)前綴和引號的加入。

繼續閱讀

發表在 信息處理, 站長文檔 | 標籤為 , , , , , , , , , , , , , | 2 條評論

黑蘋果升級SSD硬盤 機子增快65.71倍

自己的黑蘋果太慢了,買了個64G的鎂光M4 SSD硬盤。剛安裝了上去。 發現機子比之前快了65.71倍。 以下是xbench的測試截圖:

65.71當然是噱頭,指的是4k blocks random uncached write項。 看廣告不如看療效, 機子上的lion系統啟動時本來要轉60個圈(這也太慢了。。。汗,隨機啟動的程序太多太雜了。。。還好一天基本就啟動一次),現在只要轉13圈就進系統了,打開程序也變得飛快。反正高興的我願意免費發博文為SSD這種東西打廣告了。

這次只買了個64G的,將和系統系統最相關的操作系統搬移到了上面。 過些時候等SSD白菜了再搞幾個。 我的主板還是只支持SATA 3G的,如果是支持SATA 3的主板那速度又更快不少了。 感覺能DIY的服務器和筆記本電腦應該儘早升級到SSD。

發表在 信息處理 | 標籤為 , , , , , , , , | 6 條評論

漢字字頻表

這是我整理出來的一份漢字字頻表。 包含漢字10029個。文件採用utf-8編碼,換行符為LF,每個漢字一行, 數字是對應漢字在文庫中出現的次數。漢字和數字由一個空格分隔。

語料文庫是我自己從網絡整理而來的,包含小說,雜誌,科普圖書,論壇帖子等,共計1億多個字符(文本大小300M)。由於語料原自網絡,受中國網站普遍採用GB2312,GBK,GB18030等漢字編碼影響,這些編碼表內的漢字字頻可能會普遍偏高。

字頻表文件下載點這裡。 大家可免費使用, 引用請用鏈接註明來源。 謝謝。

以下為出現概率最高的50個漢字(漢字字頻表 樣本):
繼續閱讀

發表在 信息處理 | 標籤為 , , , | 4 條評論

我使用的android應用程序們

使用android系統的一個好處就是有很多很多的應用程序。 而且大部分是免費的, 使用各種市場, 安裝非常方便。 下面我列出一些我使用的一些android應用程序, 附上簡短的介紹。 非名不分前後, 想到啥寫啥。

百度輸入法
使用它因為帶了五筆輸入法。 五筆輸入一般只在外接鍵盤時或使用AC100時使用。如果只用拼音的話搜狐,QQ,Google聽說都不錯。

SSH Tunnel
用來透氣的東西。 這個好像在2.1之前的系統沒有作用。 只有一個2.2的A650S上使用正常。 困惑。。。

Record My Call
錄音軟件。 這個可以後台錄音, 隨系統啟動。 接打電話時自動錄音。 可惜不支持mp3格式。 繼續閱讀

發表在 信息處理 | 標籤為 , , , | 一條評論

星標 -- google地圖的(雲)標註功能

我今天才發現,原來google地圖有標註功能,而且是“雲標註”。

在台式電腦上打開google地圖, 登錄你的google賬號, 在地圖上找到你想要做記號的地方, 點擊地點名稱(如果當地是荒地,沒有名稱,右鍵“what’s here”創建一個箭頭), 彈出來的界面地名邊有個五角星,鼠標點擊一下這個星星,這個地方就被標註了!

在手機上打開google地圖,登錄同一個goolge賬號, 在星標菜單里就可以看到剛才標註的地點了。 其實手機上也可以做標註。

使用起來比手持GPS做標註更方便, 而且保存有賬號的話還不用擔心同步數據問題。。。 當然,可惜雲也有不安全的一方面

不管怎麼, 如果手機的電力非常強大, 在城市遊行的話,手持GPS真的可以不用帶了。

另外:google earth現在可以裝進瀏覽器裡面了。 安裝一個插件就可以了。 不過目前好像只支持windows和mac os x上的瀏覽器。

發表在 信息處理 | 標籤為 , , , , | 一條評論

蘋果,windows, iphone, ipad和android多平台網站密碼、瀏覽器書籤、文檔文件等同步工具

xmarks是一個多平台的瀏覽器書籤同步工具。我一般在Mac的Safari上瀏覽網頁, 所以Safari上有經常用到的網站書籤。使用xmarks,可以將這些書籤同步到同個電腦的FireFox或Chrome瀏覽器上。 之前我使用過xmarks,但後來他們宣布停止開發了也就沒再使用。 今天從LifeHacker那裡了解到xmarks竟然復活了,而且還多了iphone,android手機等平台。不過現在同步到手機好像是收費功能。 希望早日有人山寨出免費版,或是我寫這介紹文章的最主要動機。。。

另一個讓我意外的是現在xmarks是和LastPass狼狽為奸的。

LastPass,和1Password類似,是一個瀏覽器插件, 用它可以記下所以網站的登錄用戶名和密碼, 比如某個論壇的登錄密碼。 下次打開這個論壇,需要登錄時點擊一下瀏覽器工具欄上這個插件按鈕,LastPass會自動將你的用戶名和密碼填寫到論壇登錄頁面上。LastPass不但支持密碼記錄,同時還支持IE, FireFox, Safari, Chrome等不同瀏覽器里同步, 還支持Windows,mac, linux, iphone, android, symbian等不同平台。 所以,基本上有了它, 你可以忘記你是誰和那個證明自己是自己的密碼了。。。 而且,不同於1Password,它是免費的!

現在xmarks好像是lastpass公司的了。 lastpass公司為這兩個軟件提供特別功能的收費服務。

文件同步方面,DropBox還在牆外(牆外好多東西啊。。。網站一個接一個被牆,人民情緒一直穩定,ZF在溫水煮青蛙啊), 沒找到方法使用, DropBox之前被封了,所以我使用SugarSync, 用它可以將電腦上的文檔,照片等文件同步到手機上。 下面是我的推薦鏈接, 點擊這個鏈接註冊,你我雙方都會增加500M空間:
https://www.sugarsync.com/referral?rf=fepjo0giwdkpm (註冊可能需要翻牆,但同步文檔時不用)

現在DropBox又可以使用了。但它目前只支持iphone, android和BlackBerry手機。Nokia的symbian系統還不支持。 網上有通過sugarsync曲線在symbian手機上使用dropbox的教程,需要的可以參考一下。

另外Evernote可以在windows, mac, iphone, ipad, android等多平台間同步便簽。Evernote的平台應該是在同類軟件中最多的。 可惜它在android上的易用性和界面不如Springpad。而Springpad沒有mac版本,只是在線網頁版, 而像我這種思想比較傳統的人,對要打開瀏覽器才能使用的網頁版應該程序總感覺沒有桌面版方便。

你一身多機了嗎? 有沒有更高明的同步技巧?

發表在 信息處理 | 標籤為 , , , , , , , , , , , | 6 條評論

不要太相信雲技術

現在雲技術正時髦。把書籤,文檔或照片傳到網上,這有好處。 只要能上網,無論在家裡還是公司學校, 無論是台式電腦,筆記本還是手機冰箱,都可以訪問到這些文檔照片。 因為方便,所以越來越多的人使用, 甚至最近Google推出的使用Chrome OS操作系統的筆記本更是要最小化本地儲存, 把更多的空間留給雲技術。

我寫這樣一個題目不是來反對雲技術的。 我自己也使用雲技術。 現在我在使用網絡書籤, 大量的文檔存在email信箱里, 網上也註冊了dropbox,裡面也有資料。 我在這裡想指出的雲技術有時候不可靠。 大家不要過於依賴雲技術。

詳細一點:

雲技術不一定保密

把照片,特別是女朋友或情婦的照片/或公司見不得人的機密文件上傳到網上,比如QQ空間,即便加上100位數的密碼, 我感覺也不一定保密。 首先, 雲技術公司的員工,比如QQ空間的服務器管理人員,可以輕鬆地繞過你的密碼,在當地服務器硬盤上查看文件內容,或進行複製操作。 當然,一個有道德的公司應該不會讓員工這麼做,但是, 誰都不能保證一個公司的品德, 特別是在流氓公司橫行網絡的今天。。。退一萬步,即便網絡上真的出現了一個像船長我這樣的品學兼優做CEO董事的公司, 我也不能保證我招的每一個服務器管理員的質素,更不能保證他們一生不醉酒或不因失戀而失控。儲存有這些數據的公司只是保密的一部分。 數據還有可能在傳輸過程中被黑客或電信機構等或暗或明目張胆地劫取或監控。。。所以,只要你傳了情婦(們)的照片到雲技術平台上,你可能為自己成為陳冠希2.0埋下了伏筆, 事發之後損人害已。。。三思三思。

雲技術不一定安全,數據有可能會丟失

放在雲端的數據丟失的可能性是存在的。導致雲技術公司不能提供服務原因很多, 比如服務器故障, 比如機房斷電, 比如機房被破壞(自然災害,外星人入侵。。。), 還有很多更可悲的人為災難, 比如機房被拔網線,域名被DNS被電信公司劫持, 域名被註冊商停止解釋(以我的經驗,我確信比例是前三後七!)。
事實上讓我寫這文章的是前不久發的日本核電泄漏事件。 這麼先進強大細心的日本, 也沒料想到地震和核電站間的種種細節關聯。 雲技術上的資料, 要依靠天上雲端的公司, 要依靠本地的數碼設備, 要依靠電力系統, 要依靠網線網絡, 天災如地震, 人禍如核爆炸都可能把今天看來穩固, 想當然可以依靠的數碼信息社會時代打破。 現在的網絡如超大的肥皂水泡,可能很圓,可能多彩,很多的人甚至搬到裡面工作生活學習娛樂, 但這樣的水泡實事上擋不住一個小針尖。 如果真的電線幹線或網絡幹線被斷開了,手機找不信號了,怎麼上網下載雲上面的收藏夾? 怎麼打開收藏好的菜單做飯?到時你不會後悔沒把最心愛的歌詞手抄一份放在身邊嗎?

所以說可以使用雲技術, 但因為不一定保密, 所以要明白自己上傳的東西有外流的可能。 要謹慎選擇上傳的東西。 當然,你也可以利用這點, 上傳大量的假信息, 讓誤導竊取的人,讓他進入混亂狀態,伺機單挑; 因為雲不一定安全, 所以最好做本地備份。如果資料重要,備份盡量多做一些, 如狡兔三窟,如曹操九十九墓, 備份盡量多樣化, 如照片最好在本地硬盤, 外置移動硬盤(防止計算機故障或被盜竊), 當然,最好再素描一張,藏到華山背後的秘密山洞裡。

信息時代,數據無價, 船長友情提醒你認真對待。

發表在 信息處理, 某時雨集 | 標籤為 , | 5 條評論