第 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