Asp.Net QRCode建立WEB二維碼時遇到的問題!

12 條評論            html

C# Qrcode是一個開源的二維碼生成類庫,項目地址是:http://www.codeproject.com/Articles/20574/Open-Source-QRCode-Libraryweb

今天手頭一個項目須要添加動態生成二維碼的功能,因此把這個類庫稍微研究了一下,遇到了一個問題。在我從新編譯QRCodeLib這個類庫的時候報錯!post

報錯信息爲:編碼

錯誤    7    「ThoughtWorks.QRCode.Properties.Resources」並不包含「GetResource」的定義    D:\QRCode\QRCodeLib\QRCodeEncoder.cs    735    72    QRCodeLib  spa

查看相關代碼,是一個動態拼接文件名稱,動態讀取相關「配置文件」的一個功能,代碼截圖以下:調試

只要把這三個出錯的地方改爲:code

MemoryStream memoryStream = new MemoryStream((byte[])Resources.ResourceManager.GetObject(fileName));htm

就能夠了。blog

 

另外,個人項目是web的,發現我下載的Qrcode項目文件的QRCodeWebApp裏面並無寫相關功能!其實很簡單,直接拿QRCodeSampleApp裏面的關鍵核心代碼改一下就能夠了,上個截圖吧!get

上面忽略了一個問題,QRCode建立出來的二維碼存在編碼問題,也就是中文亂碼!一開始還沒注意到,最後階段才發現,也怪本身粗枝大葉。

其實也很簡單,仍是須要修改QRCodeLib裏面的一點點代碼。

1.修改 QRCodeEncoder.cs 跟 QRCodeDecoder.cs 把Encoding.Unicode 替換成 Encoding.UTF8

2.util目錄下的QRCodeUtility.cs中的UnicodeEncoding encoding = new UnicodeEncoding();替換成UTF8Encoding encoding = new UTF8Encoding();

此次再調試出來的二維碼中文就可以識別出來了!

下面附上本身的修改版,這裏下載/upfiles/self/sean-qrcode.rar

修改的內容是編碼所有替換成UTF8,

dlsaint 的問題解決截圖:

相關文章
相關標籤/搜索