當 jQuery().ajax() 遇到 ASP

利用 jqGrid 新增中文欄位資料時,到伺服器端時,就變成亂碼了。
FireBug 大神幫忙,發現 request header content-type 的編碼是 utf-8,查過jqGrid的 source code,裡面也只是調用 jQuery 的 ajax 函數而已。
照理來說,應該可以用 $.ajaxSetup() 來修正,但試了好一陣子,發現沒辦法,即使我在 contentType 裡指定了 charset=big5,最後送出時,仍然會是 utf-8…

好吧,山不轉路轉,再拜請Google大神,發現有人利用 escape() 解,也就是先用 javascript escape() 編碼,server 端再解碼,這樣就解了。
大致的代碼是這樣:

//
$("#jqGrid2").jqGrid(
// ... 略 ...
).navGrid( "#pager2", {
// ... 略 ...
add:true,
addfunc: function() {
$("#jqGrid2").editGridRow( "new", {
url: "server.asp",
beforeSubmit: function( postdata, o ) {
var s = postdata[ "your_field_name" ];
var ret=[true, "", ""];
postdata[ "your_field_name" ] = escape( s );
return ret;
}
} );
return false;
}
} );

電影流水帳(2009/1/22~2009/2/12)

偷懶,看看上面的日期,居然也快滿一個月了。跟去年同期比起來,少看很多~

  • 좋은 놈, 나쁜 놈, 이상한 놈(IMDB, Wikipedia),中譯:神偷、獵人、斷指客。雖然莫名的不太喜歡韓國,但是我必須要說,這是很讚的一部片子,全片無冷場,好看。
  • The House Bunny(IMDB, Wikipedia),中譯:女郎我最兔。我是衝著Anna Faris才看這部片子的,但這片令人失望,笑點低,早知道就不要看了。好在女主角身材還不錯~
  • Seven Pounds(IMDB, Wikipedia),中譯:七生有幸。悶,而且個人對於這樣的故事並不贊同,男主角因為害自己老婆在車禍中喪生(對!開車時千萬不要分心看手機!!),所以一心想藉著捐贈器官幫助別人來解除痛苦,最後甚至自殺把心臟捐出去。且看這部片子在情人節檔期是否賣座吧~

Xming 的字太小?

Xming 等同是 Windows 上的 X Server,使用的說明可以參考:Xming 簡易使用說明,圖文並茂,寫的非常好。
對我來說,唯一的問題是字太小,該怎麼解決?我找了好久~
最後終於意外發現,只要在 XLaunch 最後一個步驟的畫面的 “Additional parameters for Xming” 裡填上 -dpi 100,就可以解決字太小的問題。

javascript + gtk = seed

昨天在這兒:Building desktop Linux applications with JavaScript看到的,現在可以用 JavaScript 來寫 GTK Application 了,如果以後再支援 DOM、selector與類似 XUL 語法(GLADE?)的話,應該會吸引一堆會 javascript + html 的人來用吧~
不過話說回來,XUL 好像也沒非常風行啊~
該專案的官方網站在:Seed
Anyway, 如果你想試試的話,已經有人打包了 for Ubuntu 的 package 了,位置在這裡:PPA for Orange Owners
詳細安裝方法,文章裡都寫的很清楚,這裡就不再贅述了。

電影流水帳(2009/1/1~2009/1/21)

甄子丹的英文名字是Donnie Yen?!
好像一點關係也沒有啊~為什麼是 Yen ??

  • 葉問(IMDB, Wikipedia)。看完前面,覺得挺不錯,覺得不錯的原因,恐怕是因為很生動地演出了葉問怕老婆的事。不過到了片子的最後,還是有”最後怎麼會這樣”的感覺,嗯,爛掉了。有人說叶问(ip man, 2008)是垃圾片,如果你跟真正的葉問生平相比起來,這部片可以說完全是虛構、吹捧。算了,不過就是電影啊,做做戲罷了~話說,為什麼英文片名是 Ip Man 啊??想不透。
  • 梅蘭芳(IMDB, Wikipedia)。以梅蘭芳生命中的三個插曲,點出他這個人,我覺得拍得不錯,不會落於虛幻,至少很樸實地、盡可能地去詮釋梅蘭芳的生平。這部片子很能讓人想多了解一些梅蘭芳的生平,特別是第二段…恐怕真相也並非如電影所演(梅蘭芳和孟小冬的不了情)…

vim auto completion

Linux Today看到這篇文章:Vi and Vim Editor: 5 Awesome Examples For Automatic Word Completion Using Ctrl-X Magic,看完的當下,非常的高興。
原本以為要安裝特定 plugin 才能達到的 auto completion 功能,居然早已內建,而且只需要在編輯時按下 ctrl+x ,再搭配下列按鍵即可:

  • ctrl+p:向前找可以自動完成的字
  • ctrl+n:向後找
  • ctrl+i:找所有單行開頭的,特別適合寫程式,因為通常函數都會是先以單行宣告,根據同事實驗,這還會去找 header 裡的…
  • ctrl+f:檔名的自動完成

能說什麼呢?只能說Vim太威了!

registry-tools

由於太座的大意,使得 NB 中了 USB 病毒,而小紅傘解不掉。我知道進 Linux 以後就能把 USB 病毒埋的檔案砍掉,但砍了再砍,重開機進 Windows 以後,病毒還是繼續作怪,看來,病毒還是有埋我不知道的暗樁。
Registry 裡面有兩個機碼 Run 跟 RunOnce,在每次開機、登入時,都會去執行這裡有指定的程式。
本來不奢求 Linux 有工具可以存取 Windows Registry 的,沒想到用 apt-cache 一找,還真的有,這個套件叫做 registry-tools。
套件提供了 regshell、regpatch、regdiff、regtree 這幾個工具,可以讓你存取 Windows Registry。
但 Windows Registry 檔案在哪裡呢?Windows 2000 以後,HKEY_CURRENT_USER 改放到使用者的 Home 目錄下,也就是 c:\documents and settings\your_name\ntuser.dat
所以只要進 Linux,把 Windows 分割區掛載起來,用 regshell -f ntuser.dat 開啟以後就可以對 Registry 操作了。
regshell 的命令列介面也不難,基本上就是 cd、ls、rm 這幾個,用 help 可以看詳細的指令列表,這裡不多說了。
總之切到 Software\Microsoft\Windows\CurrentVersion\Run 跟 Software\Microsoft\Windows\CurrentVersion\RunOnce 下把一些奇怪的項目刪掉以後,就大功告成了。

電影流水帳(2008/12/29~2008/12/31)

今年的最後一片,趁最後一天補上。

  • Eagle Eye(IMDB, Wikipedia),中譯:鷹眼。這部片還不錯,蠻好看的。完全帶給人另外一種對電腦的恐慌,事實上,就我的認知,電腦人工智慧的技術還沒到那麼的強大,強大到可以判定人類是地球的毒瘤。唯一的缺憾就是男主角看起來實在太年輕,讓人怎麼樣都不會想到男女主角最後會發生戀情。