Category Archives: linux

Mysql乱码问题(备忘)

升级网站的时候,php版本高了,mysql的版本也高了,再加上原来没经验,用的都是GBK,没用UTF8,数据库导过去经常乱码。
两次成功的经验如下。
先保证phpmyadmin中看到的字符是正确的,再在mysql_connect语句之后加一句mysql_query(“SET NAMES ‘GBK’”),差不多就可以了。

Sage Tutorial中文版

Sage Tutorial是一份快速了解Sage的入门文档,花了两周多的时间将其翻译为中文。但是“Some more advanced mathematics”一节没有翻译,因为完全不熟悉这一节所涉及到的内容。

第一次翻译开源软件的技术文档,水平有限,希望各位多提意见,任何方面的都可以。如果没有大的问题,大概一周后会向Sage开发组提交。

源文件使用Sphinx管理,PDF文件是由自动转换而来的LaTeX文件编译的,因此其中很多格式不符合中文的习惯。所以请大家先以HTML文件为准,最后发布前,我会手工调整LaTeX文件后再编译。

Email: amao@ai7.org

相关内容:翻译Sage文档的准备工作

Sage Tutorial 中文版rst源文件

Sage Tutorial 中文版(HTML)

Sage Tutorial 中文版(PDF)

Ubuntu 9.10下unzip的乱码问题

Ubuntu 9.10中unzip升级为6.0,结果原来的-O参数没有了,解压缩Win平台来的带中文文件名的文件时,会有乱码。Google,Baidu无果后,自行使用Python解决。

01 #!/usr/bin/python
02 #coding=utf8
03
04 import zipfile
05 import sys
06
07 if len(sys.argv)<2:
08     print u’punzip zipfilename’
09 else:
10     f=zipfile.ZipFile(sys.argv[1])
11     nlist=f.namelist()
12     for n in nlist:
13         m=unicode(n,’gb2312′).encode(‘utf8′)
14         file(m,’wb’).write(f.read(n))
15     f.close()

只有基本功能,解压缩到当前目录下,不能新建目录……
请自行修改。

用Imagemagick将PDF文件转为图片

convert -density 150  aaa.pdf aaa.png

-density 参数指定的是DPI,也就是分辩率。一般屏幕显示用72就足够了,150适用于大多数场合,300以上的分辩率就很高了。不清楚最高可以到多少。当然了,这些都只在原PDF是矢量的情况下才有比较好的效果,如果原PDF是点阵的,比如扫描的图书,那么更大的DPI造成的结果就是颗粒变大。

如果PDF有多页,那么上述命令会将所有的页都转出来,存成多个文件。如果只想转其中某几页,可以在PDF文件名后加页码范围,象这样:

convert -density 150  aaa.pdf[0-3,20-25] aaa.png

注意,convert都是从0计数的,也就是说Imagemagick把PDF文件的第一页叫作第0页。不管上面哪种情况,只要是转换多页,Imagemagick都会自动在原文件名中加序号,以0开始,连续编号,形如aaa-0.png、aaa-1.png、aaa-2.png……,而与原页码没有任何联系。

当然了,转换的时候,还可以指定-resize这些参数。

Ubuntu下使用黑莓8310拨号上网

参考页面:

  1. http://bbs.maxpda.com/thread-327579-1-2.html
  2. http://bbs.maxpda.com/viewthread.php?tid=240390&page=1&extra=page%3D1#pid4918836
  3. http://forum.ubuntu.org.cn/viewtopic.php?f=116&t=215635&start=0
  4. http://hi.baidu.com/icej/blog/item/b5061ffa5a30229e58ee9064.html

综合以上页面的信息,考虑到相关软件的更新以及不同用户的需求,再整理一下。

1、用到的软件就是Berry4All,原名叫BBtether。到http://www.berry4all.com/下载压缩包。软件是用Python写的,因此不需要编译,但是需要安装相关的依赖库。

sudo apt-get install python libusb-dev ppp python-usb

以上4个包是必须装的,如果希望使用GUI界面,就还要安装wxgtk的库文件:

sudo apt-get install python-wxgtk2.8

因为在我的机子上wxgtk这个包没有装过,需要额外的43M空间,就没有安装,事实证明也不需要,用命令行足够了。

2、安装好依赖包之后,将Berry4All解压缩,默认有一个bbtether目录。进入bbtether目录下的conf目录,编辑att-conf文件:

将wap.cingular替换为cmnet,其他内容保持不变。

3、停掉已有的网卡:

sudo ifconfig eth0 down

eth0是第一块网卡的编号。可以用ifconfig命令查看当前活动的网卡,确认全部网卡都已经停掉之后,再进行下一步。

4、回到bbtether目录,使用下面的命令拨号:

sudo python bbtether.py att

如果是使用GUI界面,则运行berry4all.sh即可,在菜单中选择att网络。

5、如果一切正常,拨号成功后,最后会显示当前的IP和DNS地址。现在就可以上网了!产生流量后,也会有相应显示。

=====================================

注:

这些天用Ubuntu远多于Vista,特别是用VirtualBox虚拟了个XP之后。但是外出时上网的问题一直没有解决。根据Vista下用BB拨号经验,前天尝试在虚拟的XP中安装DM并拨号,一直没有成功,每次的错误信息还都不一样,搞到2点多,最后还是放弃了。今天突然想到应该直接搜索一下Linux+BB上网的信息……爽!

Ubuntu下使用md5sum计算字符串的MD5值

echo -n string|md5sum

注:之前只会用md5sum计算文件的MD5值,想计算个字符串的MD5值,试了很多办法都不行,今天无意中看到。看来对Linux的软件哲学理解的还是不到位。

Ubuntu下批量重命名

以下命令将当前目录下所有文件文件名中的前缀“sm-”删除,也即原sm-ABC.jpg,改为ABC.jpg:
for i in *; do mv $i `echo $i | sed -e ‘s/sm-//’`; done

btw:原来一直认为Ubuntu下的几个仿TotalCommander的软件都有这样那样的缺陷,现在才知道原来Linux不需要TotalCommander,默认的小工具非常好用,只有Win这种平台才需要TC。

2011年4月19日补充:

另外一个for循环的例子,解压缩zip文件到相应的目录中去:

for i in *.zip; do mkdir `echo $i|sed -e ‘s/\.zip//’`;unzip -O gbk $i -d `echo $i|sed -e ‘s/\.zip//’`;done

一句话减肥JPEG文件

使用Imagemagick。
convert -quality 80 org.jpg  new.jpg
如果还想同时调整一下大小:
convert -quality 80 -resize 50%x50% org.jpg new.jpg
如果是想处理目录下的所有jpg文件(如果是Win平台,可以写个bat文件):
for i in *.jpg; do convert -quality 80 “$i” “sm-$i”; done

使用cos-html-cache插件后的两个问题

1、WordPress内置的搜索功能不能使用。
2、搜索引擎没有更新,所收录的页面还是http://www.yoursite.com/?p=23这样的格式,无法正确跳转。

对于第一个问题,网上有一些讨论,主要是建议使用google搜索代替内置的搜索,或者修改源文件。使用Google搜索的话,当然有一些好处,但是搜索结果不如内置的准确。修改源文件的话,有几个地方都有可能涉及到这行代码,比如当前模板目录下的searchform.php,wp-includes下的general-template.php等,具体是哪一个文件在起作用,取决于使用的模板和WordPress版本。而且修改源文件这种方法在版本升级的时候,很容易失效,还要重新改一次。

而对于第二个问题,网上好象没有什么讨论。可能很多人不像我这么懒,一开始就将默认的永久链接格式改掉了。

其实这两个问题有一个共同解决方法,就是在.htaccess文件中加一句:
DirectoryIndex index.php index.html

这句话的作用是指定index.php的优先级比index.html高,也就是说,如果访问http://www.yousite.com/的话,会先访问index.php文件。在使用cos-html-cache插件之前,由于没有index.html文件,所以不存在优先级的问题。使用了这个插件之后,index.html的优先级通常比较高,问题就来了。

btw: .htaccess是个好东西。

解决apt依赖问题

在Ubuntu下一直是用国内朋友修改后的texlive,原来是2005,现在是2008。这样如果再要装kile这样的软件的话,就会有包依赖的问题,一直不知道怎么解决。今天在查另外一个问题的时候,无意中看到解决方案。总的来就,就是造一个假包装上。在这里,42楼:http://forum.ubuntu.org.cn/viewtopic.php?f=35&t=168940。下面还是转一下原文。

引用:

另外我想重复再问一下,谁有解决 apt 包依赖问题的办法?

手工安装 TeX Live 后,如果还要从源里安装依赖 texlive 的软件(一个明显的例子就是 LaTeX 的编辑器 kile),就又会要求你再装源里面的那个已经被分解得比较零碎的 texlive2007。似乎是需要做一个关于 texlive 的空的假包?哪里有相关的文档,似乎不好找。

装 dummy 包的办法很简单了,过程如下:

代码:
sudo apt-get install equivs

它要装不少东西,好在不是很大,另外有我本来就需要的 MySQL。

在桌面上新建一 .ctl 个文件,比如:texlive-dummy.ctl 。

然后添加如下内容:

代码:
Section: tex
Package: texlive-dummy
Provides: texlive, texlive-base-bin, texlive-base-bin-doc,texlive-bibtex-extra, texlive-common, texlive-doc-base, texlive-doc-bg,texlive-doc-cs+sk, texlive-doc-de, texlive-doc-el, texlive-doc-en,texlive-doc-es, texlive-doc-fi, texlive-doc-fr, texlive-doc-it,texlive-doc-ko, texlive-doc-mn, texlive-doc-nl, texlive-doc-pl,texlive-doc-pt, texlive-doc-ru, texlive-doc-th, texlive-doc-tr,texlive-doc-uk, texlive-doc-vi, texlive-doc-zh, texlive-extra-utils,texlive-font-utils, texlive-fonts-extra, texlive-fonts-extra-doc,texlive-fonts-recommended, texlive-fonts-recommended-doc,texlive-formats-extra, texlive-full, texlive-games,texlive-generic-extra, texlive-generic-recommended, texlive-humanities,texlive-humanities-doc, texlive-lang-african, texlive-lang-all,texlive-lang-arab, texlive-lang-armenian, texlive-lang-cyrillic,texlive-lang-czechslovak, texlive-lang-danish, texlive-lang-dutch,texlive-lang-finnish, texlive-lang-french, texlive-lang-german,texlive-lang-greek, texlive-lang-hebrew, texlive-lang-hungarian,texlive-lang-indic, texlive-lang-italian, texlive-lang-latin,texlive-lang-manju, texlive-lang-mongolian, texlive-lang-norwegian,texlive-lang-polish, texlive-lang-portuguese, texlive-lang-spanish,texlive-lang-swedish, texlive-lang-tibetan, texlive-lang-ukenglish,texlive-lang-vietnamese, texlive-latex-base, texlive-latex-base-doc,texlive-latex-extra, texlive-latex-extra-doc, texlive-latex-recommended,texlive-latex-recommended-doc, texlive-latex3, texlive-math-extra,texlive-metapost, texlive-metapost-doc, texlive-music, texlive-omega,texlive-pictures, texlive-pictures-doc, texlive-plain-extra,texlive-pstricks, texlive-pstricks-doc, texlive-publishers,texlive-publishers-doc, texlive-science, texlive-science-doc,texlive-xetex, texlive-lang-other, texlive-lang-croatian, texlive-base,texlive-doc-ja, cm-super, lmodern, latex-xcolor, latex-beamer, pgf,preview-latex-style
Description: TeXlive dummy package
This package provides dpkg with the information that
there is a local TeXlive version installed.

保存后开始打包:

代码:
sudo equivs-build texlive-dummy.ctl

然后可以看见一个 deb 文件,名为:texlive-dummy_1.0_all.deb

现在就可以安装它了:

代码:
sudo dpkg -i texlive-dummy_1.0_all.deb

行了,下面就不用多说了,打开新立德,找到 kile 安装就是了,效果如下:

附件:
Screenshot.png

Screenshot.png [ 1002.93 KiB | 被浏览 738 次 ]

顺便把这两个文件也一并打包附赠:

附件:

texlive-dummy.tar.gz [4.25 KiB]

被下载 90 次

无觅相关文章插件,快速提升流量