雖然可以存繁體中文
還是建議使用nchar(10)可以存十個中文字char(10)因中文字占 2Byte只能存五個中文字,通常長度10後端程式就當你可以存十個中文字
SELECT CHARACTER_SET_NAME,COLLATION_NAME, * FROM [INFORMATION_SCHEMA].[COLUMNS]
WHERE [TABLE_SCHEMA] = 'dbo'
AND [TABLE_NAME] ='Table1'
Chinese_Taiwan_Stroke_CS_AS => cp950
Chinese_Taiwan_Stroke_BIN => cp950
Latin1_General_100_BIN => iso_1
Chinese_PRC_Stroke_CS_AS => cp936
SELECT * FROM sys.fn_helpcollations()
WHERE name LIKE 'Chinese_%'
Windows 定序
https://docs.microsoft.com/zh-tw/sql/t-sql/statements/windows-collation-name-transact-sql
SELECT * FROM sys.fn_helpcollations() WHERE name NOT LIKE 'SQL%';
SQL Server 定序
https://docs.microsoft.com/zh-tw/sql/t-sql/statements/sql-server-collation-name-transact-sql
SQL Server 支援 Windows 定序。 SQL Server 也支援有限數目 (小於80) 的定序,稱為 SQL Server 定序,這些定序是在 SQL Server 支援 Windows 定序之前開發。 為了回溯相容性, SQL Server 定序仍然受到支援,但是不應該用於新的開發工作。
SELECT t1,CONVERT(VARBINARY, t1) AS t1BINARY,t2,CONVERT(VARBINARY, t2) AS t2BINARY
FROM Table1
參考資料:BIG5難字寫入資料庫(Unicode篇)
https://dotblogs.com.tw/stanley14/2015/11/11/153893CNS11643碼表查詢
http://www.cns11643.gov.tw/AIDB/codetable_search.do
2D4E (欄位t1是nchar)
A4E5 (欄位t2是char)
延伸閱讀:
https://openhome.cc/Gossip/Encoding/UnicodeUTF.html
Windows記事本選擇「Unicode」時,實際上採用的是UCS-2/UTF-16 Little Endian
https://stackoverflow.com/questions/1379416/insert-utf8-data-into-a-sql-server-2008
沒有留言:
張貼留言