2011/01/27

[PHP] 處理 MySQL bit 欄位值問題

MySQL bit 欄位值在不同 server 版本處理值會不一樣
最保險做法, 使用 tinyint(1) 而且設為非 NULL 值
不管 1,0,true,false 的值進來會自動傳成 int 數值

Overview of Numeric Types
Before 5.0.3, BIT is a synonym for TINYINT(1)

2010/12/23

[PHP] 用 mb_substr 切割中文字

一般使用字串切割, 可用 substr
遇到有中文字的時候, 請改用 mb_substr, 並設定好 encoding

mb_substr($content,0,40,"UTF-8")

解決PHP substr切割中文字問題
mb_substr 字串分割

2010/12/15

[PHP] PHP 日期格式轉換

時間格式轉換常會用得到, 記錄一下, 以免又忘了
$date = '2010/12/15 22:28';
$date = date('Y-m-d', strtotime($date));


結果: 2010-12-15

由日期字串或是由 mysql 讀來的 datetime 資料都可以如此做轉換

2010/12/03

[ReportViewer] 如何在報表加入參數

在 MS ReportViewer 顯示動態傳入參數的方法

Code Behind:

Dim paramList As New Generic.List(Of ReportParameter)
paramList.Add(New ReportParameter("ReportParameter1", "參數值"))
Me.ReportViewer1.LocalReport.SetParameters(paramList)

ReportViewer:

需加入對應的參數名稱, 以便在報表中顯示
文字方塊可用 Expression 來變更想要顯示的資料

="設定參數值: " & Parameters!ReportParameter1.Value

[PHP] PHP 在 IIS 使用 MySQL 連線逾時 Time Out 解決方法

通常在本機連資料庫, 我們都是設定 localhost, 即可順利連線

但今天在測試主機環境 WinServer 2008 + IIS7 + PHP + MySQL
結果在連線時一直出現 500 的錯誤訊息

用 cmd 來執行 mysql 確認帳號及密碼都沒錯, 能使用的資料庫名稱也沒錯
我確定使用者訊息這邊都沒錯...但為什麼還會 time out 呢?

在詢問 Google 大神後, 有網友建議把 localhost 改成 127.0.0.1 來做主機連線
試過此方式後, 呼...終於連上了! ^^

快點記錄一下, 以免日後遇到又忘了怎麼處理

2010/11/14

使用 Expression Web 開啟 PHP 檔案時, 文件編碼跳掉的問題

Expression Web 4 支援 PHP intellisense 真的很棒, 而且可以直接用虛擬伺服器瀏覽執行結果
但是目前有遇到開啟檔案編碼常會跳來跳去, 這個問題實在很困擾, 讓我不得不用其他 coding 工具

我遇到的問題用以下步驟,圖示說明可能清楚一點

1. 在 Web 4 建立新 PHP 文件 (這個時候是 UTF-8 的編碼文件)


2. 在文字編輯器確認編碼, 顯示正常, 是 UTF-8



3. 在 Web 4 關掉文件, 再重新開啟, 問題就來了, 原來的中文已經變亂碼

如果我不存檔關掉文件, 再用其他文字編輯器開啟, 還是正常的 UTF-8 編碼
但是如果開啟原檔直接在 Web 4 存檔後, 就變成 ANSI 編碼的文件了


4. 以下是在文字編輯器開啟的結果, 這就不是我要的結果


要判斷編碼有沒有跑掉, 現在大概看字體就可以看得出來了 (請看在 Web 4 開啟的文件字型)
這個問題應該是軟體處理開啟檔案時發生的, 不知道有沒有什麼解決方案?

註: 如果含有 meta tag 註明 Content-Type 是 utf-8, 則開啟/儲存都沒問題