第 12 屆 iT 邦幫忙鐵人賽-原文:https://ithelp.ithome.com.tw/articles/10240308
匯入之前思考
我們昨天有試著把在Stock中欄位印出來,但是StockName出來的卻是???,裡面的台積電一個字都沒出現,到底怎麼回事呢?
看到資料庫顯示為???沒有正常顯示,這時猜想,應該就是編碼問題。

欄位使用NVARCHAR
檢查我們的StockName,格式為VARCHAR(50),看起來正常,怎麼會錯?

突然想到,在MySQL中VARCHAR可以表示UTF格式,但是SQL Server卻不行,必須轉成NVARCHAR才能儲存UTF-8。所以我們需要轉換StockName的格式:
ALTER TABLE Stock
ALTER COLUMN StockName NVARCHAR(50);資料庫修改定序
修改資料後,怎麼還是一樣???,原來是資料庫的編碼不同,只好修改編碼:
ALTER DATABASE finance COLLATE Chinese_Taiwan_Stroke_CS_AS;結果發現有錯誤:
The database could not be exclusively locked to perform the operation.
ALTER DATABASE failed. The default collation of database 'finance' cannot be set to Chinese_Taiwan_Stroke_CS_AS.
看了文件才知道,這一開始必須設定好,之後無法改了

,只好重新建立我們的Database了!
重新安裝SQL server in Azure
參考這篇【Day9】Azure資料庫#1:功能介紹與建立資料庫,然後在編碼的時候修改成
Chinese_Taiwan_Stroke_CS_AS;
建立完畢,就重新輸入我們的2330台積電,看看是不是可以顯示,看來顯示沒有問題,表示我們完成囉!

後記
這篇稍微短一點,因為後面進入資料庫的部分,尚未研究完畢,因此部分交給明天的文章完成。
請期待明日!
~Copyright by Eyelash500~
IT技術文章:EY*研究院
iT邦幫忙:eyelash*睫毛
Blog:睫毛*Relax
Facebook:睫毛*Relax
