OPAC升級,新功能增加了個二維碼,正好Mc50別的部門用完還回來了,看看二維碼裡到底記錄了些什麼東西
簡單點,就放個textbox來顯示:
1 private void barcode1_OnRead(object sender, Symbol.Barcode.ReaderData readerData)
2 {
3 if (readerData.Result == Symbol.Results.SUCCESS)
4 {
5 textBox1.Text = readerData.Text.ToString().Trim();
6 }
7 else
8 {
9 MessageBox.Show("讀取錯誤");
10 }
11 }
運行,直接部署到裝置,讀條碼…
結果杯具了,中文全亂碼…
難道編碼有問題?
在程式裡添加引用System.Web,用HttpUtility轉下編碼試試
再次杯具了…
.Net Compact Framework壓根沒有System.Web這個引用…
上網google吧,找到高手反編譯出的System.Web.dll
地址:http://iron9light.wordpress.com/2008/07/04/systemwebhttputility-for-net-compact-edition-or-sliverlight/(需翻牆…)
需要兩個檔案:
HtmlEntities.cs
HttpUtility.cs
下載:https://cid-3ca83445bd7767a0.office.live.com/self.aspx/.Public/Net%20Compact%20Framework/System.Web%20for%20.net%20CF.rar
把這兩個檔案包含在項目裡,然後就可以引用System.Web了
1 using System.Web;
2 private void barcode1_OnRead(object sender, Symbol.Barcode.ReaderData readerData)
3 {
4 if (readerData.Result == Symbol.Results.SUCCESS)
5 {
6 textBox1.Text = HttpUtility.UrlDecode(readerData.Text, Encoding.UTF8);
7 }
8 else
9 {
10 MessageBox.Show("讀取錯誤");
11 }
12 }
嗯,雖然能轉碼了
杯具的是讀取結果依舊亂碼…