分类目录归档:信息处理

读取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个汉字(汉字字频表 样本):
继续阅读

发表在 信息处理 | 标签为 , , , | 3 条评论

我使用的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版本,只是在线网页版, 而像我这种思想比较传统的人,对要打开浏览器才能使用的网页版应该程序总感觉没有桌面版方便。

你一身多机了吗? 有没有更高明的同步技巧?

发表在 信息处理 | 标签为 , , , , , , , , , , , | 5 条评论

不要太相信云技术

现在云技术正时髦。把书签,文档或照片传到网上,这有好处。 只要能上网,无论在家里还是公司学校, 无论是台式电脑,笔记本还是手机冰箱,都可以访问到这些文档照片。 因为方便,所以越来越多的人使用, 甚至最近Google推出的使用Chrome OS操作系统的笔记本更是要最小化本地储存, 把更多的空间留给云技术。

我写这样一个题目不是来反对云技术的。 我自己也使用云技术。 现在我在使用网络书签, 大量的文档存在email信箱里, 网上也注册了dropbox,里面也有资料。 我在这里想指出的云技术有时候不可靠。 大家不要过于依赖云技术。

详细一点:

云技术不一定保密

把照片,特别是女朋友或情妇的照片/或公司见不得人的机密文件上传到网上,比如QQ空间,即便加上100位数的密码, 我感觉也不一定保密。 首先, 云技术公司的员工,比如QQ空间的服务器管理人员,可以轻松地绕过你的密码,在当地服务器硬盘上查看文件内容,或进行复制操作。 当然,一个有道德的公司应该不会让员工这么做,但是, 谁都不能保证一个公司的品德, 特别是在流氓公司横行网络的今天。。。退一万步,即便网络上真的出现了一个像船长我这样的品学兼优做CEO董事的公司, 我也不能保证我招的每一个服务器管理员的质素,更不能保证他们一生不醉酒或不因失恋而失控。储存有这些数据的公司只是保密的一部分。 数据还有可能在传输过程中被黑客或电信机构等或暗或明目张胆地劫取或监控。。。所以,只要你传了情妇(们)的照片到云技术平台上,你可能为自己成为陈冠希2.0埋下了伏笔, 事发之后损人害已。。。三思三思。

云技术不一定安全,数据有可能会丢失

放在云端的数据丢失的可能性是存在的。导致云技术公司不能提供服务原因很多, 比如服务器故障, 比如机房断电, 比如机房被破坏(自然灾害,外星人入侵。。。), 还有很多更可悲的人为灾难, 比如机房被拔网线,域名被DNS被电信公司劫持, 域名被注册商停止解释(以我的经验,我确信比例是前三后七!)。
事实上让我写这文章的是前不久发的日本核电泄漏事件。 这么先进强大细心的日本, 也没料想到地震和核电站间的种种细节关联。 云技术上的资料, 要依靠天上云端的公司, 要依靠本地的数码设备, 要依靠电力系统, 要依靠网线网络, 天灾如地震, 人祸如核爆炸都可能把今天看来稳固, 想当然可以依靠的数码信息社会时代打破。 现在的网络如超大的肥皂水泡,可能很圆,可能多彩,很多的人甚至搬到里面工作生活学习娱乐, 但这样的水泡实事上挡不住一个小针尖。 如果真的电线干线或网络干线被断开了,手机找不信号了,怎么上网下载云上面的收藏夹? 怎么打开收藏好的菜单做饭?到时你不会后悔没把最心爱的歌词手抄一份放在身边吗?

所以说可以使用云技术, 但因为不一定保密, 所以要明白自己上传的东西有外流的可能。 要谨慎选择上传的东西。 当然,你也可以利用这点, 上传大量的假信息, 让误导窃取的人,让他进入混乱状态,伺机单挑; 因为云不一定安全, 所以最好做本地备份。如果资料重要,备份尽量多做一些, 如狡兔三窟,如曹操九十九墓, 备份尽量多样化, 如照片最好在本地硬盘, 外置移动硬盘(防止计算机故障或被盗窃), 当然,最好再素描一张,藏到华山背后的秘密山洞里。

信息时代,数据无价, 船长友情提醒你认真对待。

发表在 信息处理, 某时雨集 | 标签为 , | 5 条评论