Windows 內建的超級終端機(HyperTerminal),有使用過的應該都知道問題很多,經常跑出亂碼、甚至程式當掉,可以說是年久失修的工具阿,連 Vista 都將它拿掉了,不過有許多 router、硬體設備仍是要透過 Serial Port 去做 debug、設定等等,所以有沒有可以取代超級終端機的軟體呢?
有的,試用過 TeraTerm Pro 之後就愛上他了,擁有比超級終端機簡潔的畫面,原有的功能都沒少,還增加了 UTF8/SSH/telnet/Macro...,在 Vista 上跑也沒問題,所以,換掉超級終端機吧!
‧TeraTerm Pro 專案網頁
.下載頁面
軟體筆記 TeraTerm, tty, Vista, 超級終端機
Wordpress 最近已經更新到 2.3.2 版了,趁著最近專題發表結束的空閒來更新一下,到官方抓了新版以及 Kirin Lin 的中文語系,由於 2.3.2 只是些 bug 及安全性修正,所以就直接採用覆蓋大法更新了。完工之後,咦?怎麼變英文介面了,wp-config.php 設定沒錯阿,於是求助 google 大神,馬上就找到了這篇,原來在 PHP 5.2.x 以及 64bit 系統下會有這個問題,登入 BlueHost 主機的後台看一下,果然沒錯,開始修正囉!
其實只要修正一行即可:
wp-includes/gettext.php LINE:117
if ($magic == ($MAGIC1 & 0xFFFFFFFF) || $magic == ($MAGIC3 & 0xFFFFFFFF)) { // to make sure it works for 64-bit platforms
更改成:
if ($magic == $MAGIC1 || $magic == $MAGIC3) { // <- 64 BIT FIX: CHANGE THIS LINE!
ok!
Other, 程式筆記 bug, wordpress, 中文化
Google Map 提供的 API 實在是強大又好用,結合 GPS 很快就可以做出地圖定位的網站,將之前的 Urmap 範例修改了一下,成為 Google Map 地圖定位系統,為了能夠展示所以將座標先寫好讓它自己動態更新,其中按下停止按鈕會畫出所有紀錄點的連線,可做路徑追蹤。
Google Map API 網路上的資源已經相當豐富了,在此就不多敘述,比較特別的是畫折線(polyline)的部份,如果用原始的 GPolyline 方法來畫,大概幾十個點就需要運算很久,甚至導致瀏覽器 crash,所以 API 後來又加入了編碼折線(encodedPolyline)的功能,先將所有的點用特定演算法轉換成一串文字符號,再丟給 GPolyline.fromEncoded 顯示,幾乎是馬上就顯示出來了,差很多喔,而這個編碼演算法也已經有人寫好囉!請看:Encoding polylines for Google Maps
Ajax, Other, 程式筆記 Ajax, API, Google, JavaScript
※ CodeIgniter 1.6 已釋出,不需再做這篇的修正了哦!
先前有提到過 CodeIgniter 這個 PHP Framework,也用它做了幾個 case,當然開發速度不能說快上多少,但確實讓程式碼變得整齊優雅許多。
使用 CI 目前遇到第一個問題是存取 MySQL 資料的問題,在 MySQL 4.1 以後採用了多層式編碼設定,簡單說就是不管是資料庫、資料表、欄位或是 Client 連線階段,都可以分別設定編碼,所以即使 server 都改成了 utf8,PHP 到 MySQL Server 的這個 connection 卻還是預設的(latin1),許多亂碼就是這樣造成的,應該已經有不少人知道解決方法,就是先送出一個改變編碼的查詢:SET NAMES 'charset'。
然而目前 CodeIgniter 並沒有這樣的設計,所以只好自行改 code 囉!
Step1:修改 system/application/config/database.php
增加一項:$db['default']['charset'] = "utf8";
Step2:修改 system/database/DB_driver.php
在 32 行之後的宣告增加:var $charset = '';
接著 96 行的陣列增加:'charset' => '',
Step3:修改 system/database/drivers/mysql/mysql_driver.php
74 行 return 前加入:
if (!empty($this->charset))
{
@mysql_query("SET NAMES $this->charset");
}
這樣就 ok 了,如果使用 mysqli 請如法炮製。另外如果主機環境符合,可使用 PHP 內建函式來設定:
// PHP >= 5.2.3,MySQL >= 5.0.7 for mysql
@mysql_set_charset($this->charset, $this->conn_id);
// PHP >= 5.0.5,MySQL >= 5.0.6 for mysqli
@mysqli_set_charset($this->conn_id, $this->charset);
PHP, 程式筆記 CodeIgniter, MySQL, PHP, 編碼
語音合成系統通常拿來做 TTS(Text to Speach) 應用,英文 TTS 已經滿多且成熟了,但是中文的目前大多是廠商或實驗室驗自行開發,所以可能沒辦法免費拿來研究。
最近發現的 eSpeak 這個 Open Source 已經在最新的開發版本中加入中文語音支援囉!網頁在這裡,應該不久就會變成正式版本釋出。根據了解,好用的 StarDict 翻譯軟體也是使用 eSpeak 來作為朗讀發音系統哦!
在嘗試移植到嵌入式 ARM Linux 時失敗,因為實在太多 Shared Libraries 了,如果有成功的高手希望能分享一下心得。
Linux, 軟體筆記 eSpeak, Linux, TTS, 語音合成
近期迴響