懶的更新到blogger了

本站2010年10月以後的,都更新到google docs上了:
連結在這裡
顯示具有 備忘 標籤的文章。 顯示所有文章
顯示具有 備忘 標籤的文章。 顯示所有文章

2010/08/29

不同相機的照片整合後依時間重新命名

不同相機的照片整合後依時間重新命名
20100818-23 到日本自由行,一人一台相機(含我的HTC Desire ^^ )共4台,
回到台灣後的相片整理,之前都是把不同相機的照片放在不同的目錄,然後燒成一片光碟再給大家。

這次挑戰把4台相機的所有照片放在同一目錄。
不過四台的命名方式都不一樣...正好一台Canon,一台Sony,一台Nikon和一台 HTC。
(其實命名一樣也沒用,因為序號也不同)

應該也可以用系統的依時間排序,但已經放在同一目錄了,就想把檔名都改成時間。
而且總共拍了1千多張,已經不可能手動命名了,
也不知道用什麼指令,就只想到 date ,於是就
$ man date
發現有不錯的參數可以使用
-r, --reference=FILE display the last modification time of FILE
這就是我要的(反正拍完後就直接拷貝出來,沒有改過了)。

於是就寫了一個改檔名的Shell Script就叫 mycp 。
(因為檔案已被我分成4個目錄燒進光碟了...總要把大家的照片先收過來...所以還是要 cp )

$ cat mycp
#!/bin/sh
/bin/cp $1 `/bin/date -r $1 +%Y%m%d%H%M%S.JPG`

簡單的一行指令,就是把輸入的參數(檔案),拷貝一份到現行目錄的 YYYYMMDDHHMMSS.JPG

再來只要把光碟裡的所有 jpg 檔都丟給這個程式就可以了
$ find /path/to/20100818-23_Japan/ -type f -name "*.[jJ][pP][gG]" -exec ./mycp {} \;

搞定 ^^

不過還是有一些問題,記錄一下,供自已日後參考:
1.出發前,要請大家把相機的日期時間調整一下,只要不差太多,基本上重新命名後前後也不會差太多。
2.連拍時,可能同一秒內會拍很多張,上面程式只能處理第一張。


2009/08/25

VirtualBox 安裝 Win2000

記得以前在舊電腦上裝VirtualBox時(忘了版本),就曾經安裝過win2000,雖然慢,但是有成功。
新電腦上,安裝了VirtualBox 3.0.0版,但是安裝win2000卻一直失敗。
今天重抓了 3.0.4版,發現也是一模一樣,都是灌到同一個地方就當掉重開。

就在某次想重開VirtualBox時,不小心按到差一格的 User manual(English),
啊,手冊,從來就沒仔細看過(因為是英文版),不過,既然都不小心打開了,就查查看吧,
尋找「win2000」...沒查到
尋找「windows 2000」...啊,找到了,還真的有..
11.2.3 Windows 2000 installation failures
大概看了一下,就是我遇到的問題,原因出在win2000的硬碟驅動程式裡,
而且可能是因為我的電腦太快才會遇到這個問題,難怪之前可以正常安裝。
(之前CPU是Intel Celeron 1.7 ,目前是 Intel Quad...四核)
第一次覺得,電腦太快也是一種錯誤 XD

還好解決的方法很解單,只要把虛擬機器裡的硬碟處理速度延遲一下下就可以了,
用安裝目錄裡面的 VBoxManage.exe 即可,
指令:
VBoxManage setextradata VMNAME "VBoxInternal/Devices/piix3ide/0/Config/IRQDelay" 1
其中 VMNAME 就是那個虛擬機器的名稱(例如 WIN2K)
最後的 1 代表讓虛擬的硬碟 delay 1 millisecond
(上面說如果 1 不行,就依自己情況改 1~5 ,自己決定)
這樣速度會變慢,但是灌完後再改回來(設成 0 )就好了

我乾脆就直接設 5 ,再重灌,
果然,可以很明顯感受到變慢了,但總是成功的裝起來了。
--
都什麼年代了還在裝win2000,沒辦法,我就是喜歡玩win2000 ^^

2009/07/28

用netstat查看PID

一直以來都是先開命令提示字元(cmd.exe)再用 netstat -na 在查看網路狀況的,
可是有時查到某奇怪連線時,也不知道是哪個程式在作怪。
今天心血來潮,打了 netstat /? 去查看所有的參數,發現 -o 選項可以顯示出 process ID (PID)。
所以可以用 netstat -nao (或 -no 就好)

可是知道PID有用嗎,Windows XP能查看到什麼PID是什麼程式嗎?
算是可以吧,
先叫出工作管理員(就是按Ctrl + Alt + Del 叫出來的那個,如下圖)
可以看出預設是不顯示PID的。

這時可以可從「檢視」→「選擇欄位」去把PID(程序識別元)打勾(如下圖)。

之後就可以看到PID的欄位了,如此就可以對照出連線的是哪個程式(如下圖)。

不過這樣還是有一些小問題啦,雖然能知道是哪個程式在執行,
可是又不知道該程式的完整路徑,還是有點不方便……

2009/05/16

Excel小計之後....

Excel的小計功能很方便,但最後想把各單位的數據單獨選出時,都覺得很困擾。
因為每次都會選到全部的資料。(複製後,貼上時就嚇一跳...因為所有資料又都出現了)
後來就用 Ctrl 一次選一列,慢慢選取再複製,終於可以,不過太花時間了。

↑上圖不是我想要的,↓下圖才是(只選到可見的儲存格)。

今天發現有方法可以只選取"可見儲存格",這真是太好了。
先把全部資料選取後,按 Ctrl + G (或按 F5),會出現下圖


↑按「特殊(S)」後,會進入下圖↓


↑選擇「可見儲存格(Y)」後再按確定,
就只會選取"可見"的儲存格。之後再複製、貼上,就是我想要的資料了。

看起來選項相當多,還可以只選"公式",應該是很實用的功能。

2009/03/02

想轉出品質好一點的 flv 檔

一直使用 ffmpeg 在轉 flv ,然後把轉完的檔案用 flowplayer 掛在網頁裡,

使用的 DV 拍出來是 720x480 的 mpeg-2 影片,
通常使用的轉檔參數是:
ffmpeg -y -i input.mpg -f flv -r 10 -qscale 10 -s 640x360 -ab 56 -ac 1 -ar 11025 output.flv

可是一直覺得,自己轉的影片,如果想要品質好一點,檔案都超大,
所以後來都是把 frame rate 調到 15 or 10 才覺得檔案大小比較能接受。

但是抓過 youtube上的影片後,都覺得人家轉的檔案大小不會太大,品質又好,
就是不知道那是用什麼軟體,或下什麼參數。

網路上看到有人說可以把影片轉成 mp4(H.264/AAC),然後再把副檔名改成 flv 也是可以播的。
所以當然要試試看,
可是打上:
ffmpeg -y -i input.mpg -vcodec libx264 output.mp4 (這裡的H.264是用 libx264)
結果每打必當...也不是當機啦,就是ffmpeg就馬上出錯停掉。
(我是在 http://ffdshow.faireal.net/mirror/ffmpeg/ 抓的...用的是2008年不知幾月的版本)

後來查到 VirtualDub 好像也可以加 x264 去轉影片,所以就抓下來轉轉看,
VirtualDub(我喜歡用portable的版本):
http://portableapps.com/apps/music_video/virtualdub_portable
另外要安裝x246encoder:
http://sourceforge.net/projects/x264vfw/

隨便開了一個影片來轉,轉成 x264/mp3的avi影片,然後再用ffmpeg去換一個包裝 ^^
ffmpeg -i input.avi -vcodec copy output.mp4
(-acodec 不用設,因為包成 mp4 會自重設成 AAC )
果然把 output.mp4 改名成 output.flv 後,再由flowplayer是可以成功播放的,

好,馬上把DV拍出來的影片拿出來轉.....
不過,結果真令人洩氣,因為VirtualDub 不能開啟我用 DV 拍的 mpeg-2影片...

其實再重新想想,這本來明明就是 ffmpeg 就可以做到的事情,只要把 ffmpeg 搞好不就得了,
可是我又不會在 windows 裡 compile ffmpeg,好吧,那就不在 windows裡做,
正好有一台 ubuntu 8.04 的電腦,就在這上面試好了。
打關鍵字「ubuntu ffmpeg libx264」
果然找到一篇好文章:
http://ubuntuforums.org/showthread.php?t=786095&highlight=libx264
依上面的步驟操作,果然就編譯出一個可以轉 mp4 的 ffmpeg。
(而且上面也有給 two pass 的範例了)
也試轉了幾個檔案,感覺還不錯。

後來,又打了關鍵字「 windows ffmpeg」
又找到了另一個 ffmpeg 的下載點:
http://sourceforge.net/project/showfiles.php?group_id=205275&package_id=248632
而且這次在我的電腦上轉 x264 是正常的......也就是說,
最後等於繞了一大圈又回到windows上來使用了。
不過,感覺還是有學到一點東西 ^^

轉檔指令....之後再補......
不過,把mp4改名成flv,這畢竟不是很好的方法吧(雖然目前可以正常播放)

小小的感想:
1.影音真是很複雜的東西。
2.ffmpeg真是個不錯的軟體。

20090308補充:
啊,還是覺得那一堆參數很不適合一般人使用,
原來有人已經有寫了很方便的介面了,
http://winff.org/ or http://code.google.com/p/winff/
還是這樣比較方便。

20090324補充:
用 ffmpeg 轉出單張照片截圖
ffmpeg -i input.flv -ss 00:00:30 -vframes 1 output.jpg
-ss 00:00:30 從30秒開始 (也可以 -ss 30)
-vframes 1 總共要轉 1 張 ^^

20100930補充:
想從影片檔轉出連續的截圖
ffmpeg.exe -i input.mpg -f image2 -vcodec mjpeg ouput%d.jpg
當然最後可以用 %2d , %3d ....看自己的需求。
一樣可以加入 -ss 或 -t 的參數
也可加入 -r 參數控制 fps

2009/02/04

星際譯王英文音標出現亂碼

之前用星際譯王(stardict)時,常常會有英文音標出現亂碼的情形,
其實也一直都不在意,反正也只是在中譯部分。

後來在修改過字型後(改成Tahoma),

竟然就好了。

2009/01/19

怎麼好像常會忘記一些指令

好像常會忘記一些指令,雖然不太難,還是抄下來好了:
【windows】
連線網芳
net use X: \\192.168.0.xx\share_name /user:userid

【linux】
連線網芳
smbmount //192.168.0.xx/share_name -o username=userid
(如果正確應該下一行會直接問密碼)

弄一個ramdisk
mkdir /tmp/cache
sudo mount -t tmpfs tmpfs /tmp/cache -o size=xxM
(割一個xxMB的ramdisk到 /tmp/cache )

mount隨身碟(windows xp存完拿到linux用,似乎是utf-8)
sudo mount -t vfat /dev/sdb1 sdb1 -o iocharset=utf8,uid=xxxx,gid=xxxx
(以為會打utf-8 or UTF-8 結果是utf8)

2008/10/25

用SystemRescueCd製作還原用的DVD

之前寫過硬碟的備份與還原之後,就一直在使用 SystemRescueCd(http://www.sysresccd.org/)。
目前版本到1.1.0了,不過因為之前很多電腦的備份都是用 0.4.0版,所以也還繼續使用這版。

目前比較常用的方式是,用sysresccd開機完機後,再把隨身硬碟接上,mount後開始還原。
其實感覺上也都還好,只是常想,能不能直接製成DVD,把sysresccd和備份image檔一起放到DVD裡,開機後就不用再插入硬碟了。
實際上是可行的,官網也有教了,不過還是應該自己試一次看看。

測試環境:
使用 SystemRescueCd 0.4.0版(systemrescuecd-x86-0.4.0.iso)
作業系統使用 Ubuntu8.04(裡面已經有 growisofs 程式了)
最後沒有直接燒在DVD,而是先做成一個 iso檔。(因為這樣可以拿到別台電腦燒)

步驟:
1.先產生一個空白的檔案(my.iso)
touch my.iso

2.然後把原始可開機的sysresccd先寫入iso檔內
growisofs -dvd-compat -Z ./my.iso=/path/to/systemrescuecd-x86-0.4.0.iso
(第一次用 -Z ,後面的路徑要自己改掉)

3.最後加入還原用的檔案
growisofs -M my.iso -R -J /path/to/your/files/
(第二次之後用 -M ,可重覆多次,最後的路徑要自己改掉)

這樣就完成我自己要的 iso 檔了。
馬上拿去燒錄,馬上測試,發現真的是可以開機的(至少我的電腦可以)。
而且額外燒進去的檔案就在 /mnt/cdrom/ 裡。
--
其實我把燒完的片子放在WindowXP裡,並沒有看到那些檔案,只看到原始的sysresccd的內容。
不過用它開機真的可以在 /mnt/cdrom/ 裡找到燒進去的檔案。

2008/10/12

唱卡啦ok

很多同事都愛唱卡啦ok。
不久前,有同事騎腳踏車(最近流行騎這個 ^^ )到我家來有提到,
說他正用舊電腦在試卡啦ok的軟體,最後是使用jetktv這套軟體。
其實我有聽過,只是沒有試用過。
這個利用這次的國慶連假,在家試試看。

到jetktv官網(http://www.jetktv.com.tw/)去抓軟體吧(目前是3.0.1Beta版),
安裝時說我缺少了 wmp.dll ...... 因為,我的電腦沒有裝windows media player,
好吧,就為了試卡啦ok去安裝吧......上網抓了 WMP9的版本(因為家裡的電腦還在用win2000)。
移除jetktv,再重新安裝,果然好了(不移除應該也沒關係吧 ^^ )。

新增歌曲,可以利用檔名「語言-性別-姓名-歌名.mpg」的方式拖曳進去,感覺還不錯。
不過,還是用外掛的歌曲管理程式會比較方便一點 ^^ 。
官網上也有說明:http://www.jetktv.com.tw/rewrite.php/read-6.html

不過,因為手邊沒有紅外線遙控器,所以對這套軟體的webservice相當感興趣,
這個webservice就是可以利用瀏覽器,連線到有安裝並啟用jetktv的電腦,
直接用瀏覽器就可以線上對那台電腦作點歌、切歌、查詢……等動作。
想不到作者還自己寫了個web server放在裡面,真是太用心了。(首頁home.jet...就是.html)
預設port 80,可自行修改,特別是有用skype的人應該會有影響吧
(之前有寫到skype預設佔用80/443 port)

--- 分隔 ---

不過,說到卡啦ok就想到之前家裡也買了台點將家,似乎好久都沒打開來唱了,
印象中好像也是可以外接硬碟的方式去新增歌曲的。
找了一下說明書(也找到保固書,原來是2004年買的),
上面有提到要將外接硬碟,分割成primary,格式化成 ext3 的格式,
然後詳細部份就沒提到了(檔案名稱、格式...),真是太簡單了吧,這個說明書...

這時只好靠網路了,用關鍵字「點將家 ext3」,果然找到了很多網頁,
參考了一下,結論就是:
  1. 硬碟切primary,且格式化成ext3。(說明書講的)
  2. 資料匣可用 95、96、97、98、99 (其實可以看出這就是對應到點歌號碼的前2碼)
  3. 影音檔和文字檔命名、說明如下(資料匣95為範例):
    3.1 影音檔:95001.dat (vcd-ntsc格式一定可以,其他我不確定)
    3.2文字檔:95001.info(編碼:UTF-8,網路說共4行,說明如下)
      第一行:95001(很容易懂)
      第二行:歌名(很容易懂)
      第三行:<ENTER>
      第四行:<ENTER>(所以有兩行空白,why? 應該可以打東西吧)
      (不管啦,不過我照做真的可以用點將家外接上去播,編號當然按95001)
  4. 將外接盒接的usb線接到點將家,然後開機,然後......enjoy!。
--
另外:
第一次啟動jetktv時,想要馬上離開,卻發現要密碼,預設密碼是「999999」。
它資料庫的檔案(mdb),也是可以打開看的,密碼是「tmwcmgumbonqd」。

2008/10/02

px , pt 和 cm

想用網頁加CSS來套印一個固定的圖案(底圖相同,上面文字不同),
馬上遇到的問題是,印出來的東西是用 cm,但是電腦裡大都用 px。
cm 能轉換成 px嗎?
到W3C的網站看到的情況是:
像素 px:pixels, or pixel size of a "typical computer display"
英吋 in:inches (1 inch = 2.54 centimeters)
公分 cm:centimeters
 點 pt:points (1 point = 1/72 inch)

所以 cm , in , pt 應該都算是絕對的單位,可是 px 是相對的單位,它會和解析度(DPI)有關。
記得在顯示器內容看過,電腦裡好像是 96 dpi ,那就用 96 dpi 來算好了。

例如:
6pt = 6 * (1/72) = 1/12 inch ,在96dpi(1英吋長度內有96px )的情況下,
1/12 inch = (1/12) * 96 = 8 px (也就是96dpi的情況下 6pt = 8px)。

馬上實驗...用div...放大10倍好了 60pt=80px :
<div style="width:60pt;height:60pt;background-color:red;">60pt的div</div>
<div style="width:80px;height:80px;background-color:green;">80px的div</div>
60pt的div

80px的div

在我的電腦上看起來,好像真的一樣大耶.....太好了。

所以我有一個10cm寬,3cm高的圖案,也可以轉成大概的px(像素)了:
10 cm = 10 / 2.54 ≒ 3.937 (inch) , 3.937 * 96(dpi) ≒ 378 px
3cm = 3/2.54 ≒ 1.1811 (inch) , 1.1811 * 96(dpi) ≒ 113 px
<div style="width:10cm;height:3cm;background-color:red;">10cm * 3cm 的div</div>
<div style="width:378px;height:113px;background-color:green;">378px * 113px的div</div>
10cm * 3cm 的div

378px * 113px的div

嗯,用肉眼看起來是差不多大小的 ^^
--
結論:
在96dpi的情況下,量出公分的值,先除以2.54再除乘以96就可算出大概的px,
也就是把公分的值乘以大約37.8(從96/2.54 得到)就可以把cm換成px了。
不同dpi時只要把96換成其他的值即可。

2008/08/01

windows update 一直無法成功,都失敗

今天處理到一台剛更新到XP sp3的電腦,
但後來有12個 windows update 一直無法成功更新,
那個黃色小盾牌出現有新的更新,但更新就失敗,
馬上跳出有更新→失敗→更新→失敗→更新.....
天啊,無限迴圈了,太可怕了。

還好,網路上打了一些關鍵字,就可以找到解決方法。
http://support.microsoft.com/kb/945099/zh-tw

用了第一個方法,下載了 wufix.zip ,解壓縮後執行。
(執行後要等一下下,完成後畫面會自動關掉)
之後馬上再 windows update,果然12個更新都ok了。

2008/07/24

兩個沒用過的HTML標籤fieldset和legend

看到有人的表單有框線區格還有該區的標題,
本來以為用了什麼特別的方法,原來只是HTML標籤....只是自己從來沒用過 ^^
FIELDSETLEGEND

例如:
<form name="myForm">
<fieldset>
<legend>第一個區塊</legend>
帳號:<input type="text"><br />
密碼:<input type="password"><br />
</fieldset>

<fieldset>
<legend>第二個區塊</legend>
性別:<input type="radio" name="gender" value="1" checked>男
<input type="radio" name="gender" value="2">女
<input type="radio" name="gender" value="3">不男不女
</fieldset>

</form>

結果:


第一個區塊
帳號:

密碼:




第二個區塊
性別:

不男不女

--
W3C HTML Elements

2008/07/07

可生成電子書的軟體

今天參加研習,目的應該是增強網路創意競賽的能力,
不過重點大概都在製作電子書方面了。

主要算是強調各種媒體之間整合的能力。
用一套叫ZineMaker的免費軟體來整合成電子書。
它內建一些不錯的模版可以使用,可以自己加入圖片、flash去產生一本電子書,
不過最後產出的結果是包裝成一個 exe 檔。(個人認為,如果可以存成swf檔會更好)

各種媒體方面:
flash可以用Flasy Easy(試用版可用90天)製作,蠻方便的。
(教網好像買了授權)

錄音和聲音剪輯可以用自由軟體Audacity(有可攜式版)。

影像處理大部分學校都有 PhotoImpace,要不就用自由軟體 GIMP (也有可攜式版)。

影片處理是比較麻煩的部分,如果經費許可的話,應該還是買套 會聲會影之類的軟體比較實在。
--
另外有人問到一些其他問題,
ppt檔能轉成flash檔嗎?答: 關鍵字「ppt2swf, ppt2flash」
ppt檔能嵌入flash嗎?答:「可以」,過程我不太記得了,應該是在檢視→工具列,先把Virtual Basict工具列叫出來,裡面的檢視控制工具箱,再裡面的插入控制工具箱....找Shockwave flash.......,然後把Movie的屬性加入想插入的flash名稱就ok了。(不過該ppt檔和該swf檔要放在同一個資料匣 ^^ )

2008/03/29

練習CSS的背景,一張圖當四張用

早就想這麼試了,一直沒有真正寫寫看,
雖然沒什麼意義,但還是玩玩看。
來源圖片(64x64),剛才畫的四個臉(32x32),傳到picasaweb上了。
背景圖

div 32x32..背景沒動
div 32x32..background-position: 0px -32px;
div 32x32..background-position: -32px 0px;
div 32x32..background-position: -32px -33px;
(應該要 -32px -32px..可是剛這兩個值打一樣,第二個值會自動被blogger改成50%,所以用-33px)

這樣看起來好像有4張圖,其實是同一張,只是移動位置而已。

CSS的background
background-image: url(URL)
background-color: 顏色
background-attachment: scroll | fixed
background-position: ( [ top | center | bottom ] | x% | xpos ) ( [ left | center | right ] | y% | ypos )
background-repeat: repeat-x | repeat-y | no-repeat

2008/03/23

Matlab的替代程式

這學期的課程,似乎是要使用到Matlab,
一直都有聽過這是一套功能強大的軟體,但也一直沒有用過。
終於在今天使用到了,可是回家怎麼辦...也買一套嗎...為了修課而去買,不太划算。

網路上找了一下看有沒有替代的軟體,發現有人提出了幾個,
趕快把網址記錄下來 ^^ 方便自己使用。
FreeMat(目前3.6版,約10MB):
http://freemat.sourceforge.net/

Scilab(目前4.1.2版,約15MB):
http://www.scilab.org/

Octave(目前3.0.0版,約35MB):
http://octave.sourceforge.net/
http://www.octave.org/

目前只先抓了FreeMat(最小的^^)來試用看看,
介面和Matlab有些類似,而今天所練習的例子都可以正常的執行成功。

不過還是看之後會用哪些功能而定吧。

2008/02/06

第一次寫utf8的php程式

今天是除夕,想不到竟然是整天在家沒出去,
沒辦法,誰叫天氣那麼冷……

好了,言歸正傳。
仔細想想,雖然之前曾經把所架的phpBB從big5轉到utf8,
但是好沒從來沒有自己寫過utf8的php程式。

今天正好有一些小資料想要把它轉成phpBB發文時我想要的bbcode格式,
資料是放在google線上spreadsheet裡,裡面有繁中、簡中、日文字(google服務都是使用utf8)
本來想用Excel去處裡的,可是家裡電腦沒有灌Excel,
後來也想使用OpenOffice.org的Calc,可是打開後怎麼有些字顯示不出來……不太保險的感覺。
所以打算自己寫,把它們都放進MySQL再寫php程式來產生我要的格式,
大材小用? 殺雞用牛刀?...反正就順便也練習嘛~

編輯utf8的編輯器:使用 MadEdit...超好用的。
資料的部份,本來想就開始寫php程式來匯入,後來發現phpMyAdmin可以匯進csv檔,
那當然就從google spreadsheet匯出的txt檔去改成phpMyAdmin所使用的csv格式
(格式是 "欄位1";"欄位2";"欄位3"; .......預設用「"」和「;」....不過是可修改的 ^^)
這邊也確定放進到MySQL的資料是utf8編碼的資料。

開始吧,寫的php是utf8的編碼,資料庫裡也是utf8編碼,
寫出來執行的結果......果然和我想的一樣,一大堆的 ??? 。
雖然早料到會如此,可是還是很傷心 ^^

網路時代,不浪費時間,馬上用google查「php utf8」,果然已經早有解決方法了,
我參考這篇:分享MySQL和php採用UTF8的詳細方法

裡面寫到了可以改的地方還真不少,不過,我自己也沒有全改,只改我自己認為可能的地方,
  • 0.先決條件:資料一定是utf8編碼(包含php程式碼和放進資料庫的東西.....廢話)
  • 1.我沒有使用php的header函數
    header('Content-Type: text/html; charset=utf-8');
    倒是有把phpBB的標頭copy過來用(順便copy一份,下次可以用)
    echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n";
    echo "<html dir=\"LTR\">\n";
    echo "<head>\n";
    echo "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">\n";
    echo "<body>\n";
    echo "</body>\n";
    echo "</html>\n";
    (↑應該用單引號「'」的,但我希望產生的原始碼好看些 ^^ ,當然,關鍵是utf-8那一行)
  • 2.再來是建立資料庫時
    CREATE TABLE `table1` (
    `sn` INT UNSIGNED NOT NULL ,
    `title` VARCHAR( 60 ) NOT NULL ,
    ) ENGINE = MYISAM DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
    說真的COLLATE關鍵是什麼我不知道,但我還是加上去了。
  • 3.我覺得這個才是真正的關鍵,在開始query資料之前,先執行:
    mysql_query("SET NAMES 'utf8'");
    mysql_query("SET CHARACTER_SET_CLIENT=utf8");
    mysql_query("SET CHARACTER_SET_RESULTS=utf8");
    然後我的程式就可以正常運作了。
  • 文章裡面提到的php.ini , httpd.conf , my.cnf 還有cache什麼的,我就都沒改了
    (其實我有改過php.ini,但改完後再改回來,我的程式還是可以正常運作)
其他....好像沒什麼好寫的了,暫時到這裡。
--
相關php函數、範例查詢 http://www.php.net/

2007/12/07

Google的線上圖表功能

http://code.google.com/apis/chart/
打一個網址,就直接產生圖表,
這會有什麼樣的用途呢?
我也不知道,試著把我自己的id打上去看看,
很好奇會產生什麼樣的圖...
結果是:
http://chart.apis.google.com/chart?cht=lc&chs=200x125&chd=s:YHLin
YHLin chart


呵,原來是把 A-Za-z0-9 當成是數字來用,
A-Z是0-25
a-z是26-51
0-9是52-61

詳細說明還是要看它的API網站....

2007/11/20

奇怪的狀況,網路上不去,中毒?

遇過幾台電腦,可能是因為中毒,讓網路上不去,
(也許是毒清掉了,但設定被改掉了吧)

狀況很神奇,
當我用 netstat -na 時,沒有看到127.0.0.1,
但是...可以ping出去(例如ping到hinet的dns),而且有回應,
但瀏覽器就是上不去。

今天又遇到了,
網路上查了一下關鍵字「中毒 不能上網」,查到了一些方法,
其中有人提到,在命令提示字元裡打「netsh winsock reset」,然後會要求重新開機,重開後就好了。
但上面寫只能用在 sp2,
若是其他系統,可以到 http://cexx.org/lspfix.htm參考看看

看來值得一試(總比重灌好)
因為系統是sp2,所以就用第一種方法,
下完指令 ─ 重新開機 ─ ─ ─ 疑!真的好了!
太好了,那第二種就不試了 :)

2007/10/23

用PXE開機去還原系統

話說公司裡的電腦,明明有還原的機制,但只要過了一段時間,還是會生出一些有的沒的,
實在是因為用的人太多太雜了,所以該重灌的還是要重灌。

之前有寫過硬碟的備份與還原 ,之後就很常使用SystemRescueCd
所以目前的重灌方式就是帶著一片SystemRescueCd + USB外接硬碟(含image檔),
被玩壞一台就重製一台。

很久沒有再連上它的網站去看了,不知道現在已經到第幾版本,昨天連上去看看,是0.4版,
再往下看,主要功能之一是「PXE Network booting」,這麼棒的功能,怎麼可以不試試看呢。
如果成功的話,只要找一台電腦來開機,就可以用它來還原別台電腦了。

今天,就隨便選了台電腦主機A來當主角(192.168.0.2)。
開機時,在boot:畫面時按F6,有一些對於使用pxe功能的解說,
=====.....=====
開機過程省略
=====.....=====
開完機後,
1.先設定主機A的ip (gateway和dns應該沒設都沒關係吧)
 ifconfig eth0 192.168.0.2 netmask 255.255.255.0 broadcast 192.168.0.255
 route add default gw 192.168.0.1 (呵...個人習慣把gateway設在.1)
2.修改/etc/conf.d/pxebootsrv
 可用vi,裡面主要是設自己的網段、ip、dhcpd發放ip的範圍.....看了就知道。
3.啟動服務/etc/init.d/pxebootsrv start

天啊!就這麼簡單?真的這樣就可以了?趕快找台電腦來試吧。
另,說明檔裡面有講到,client端除了要能網路上開機以外,
要有280MB(另一個說300MB)的ram -_- 真的假的!?...算了,反正這裡都512MB

好,選定一台電腦B,進bios設定去啟動網卡上的boot rom,
開機........真的進去了(高興)
哇!開的好快...比用光碟開機還快(很高興)
疑...停下來了!?在下載一個100多MB的檔案.....(其實這裡也跑得很快)
這個檔案就是原本應該燒在光碟片裡的,現在整個用http的方法從電腦A抓到電腦B的ram裡。
開機完成了,跑得....很快(因為都放在ram裡了能不快嗎 XD )
※註:開機完後,電腦B的網卡要重新設定,可執行 net-setup

再來,就是在電腦A執行partimaged來當還原用的伺服器,
電腦B就可以連線上來還原了。
接著電腦C...電腦D......嗯,比之前又更方便了,真是個好東西。
--
*理論上,應該可以允許很多人同時連上去還原,但我只要第二個人上去一下子,就一定掛掉...
*試用nfs分享出去,也是第二個人連上去就出現檔案被lock住....
也就是說我同一個時間只能還原1台,應該是有哪邊沒設定好吧,
雖然是美中不足,但比起之前的方法,已經又更方便了(至少不用每一台去放光碟開機片)。

2007/09/17

最大公因數,原來很簡單




找A,B的最大公因數
A=(←請輸入一個整數)
B=(←請輸入一個整數)
最大公因數是:



===== 以下是主要程式碼 =====
while (a != b){
if (a>b)
a -= b;
else
b -= a;
}
return a; // or b
===== 其實就是輾轉相除法 =====