HTML Symbols are being displayed as a question mark in SQL Server Database

后端 未结 3 1024
一个人的身影
一个人的身影 2021-01-12 06:00

Today i noticed that html symbols such as: ★ are being displayed in my database as a question mark.

I\'m using varchar as type and the database i am using is micros

3条回答
  •  长情又很酷
    2021-01-12 06:41

    You need to use NVARCHAR datatype for your column, VARCHAR datatype can only be use for non-unicode character.

    if you are storing unicode characters in your datatype you should use NVARCHAR datatypes and when inserting Data into your Column use the N prefix telling sql server there will be some unicode characters in the passed string.

    With VARCHAR DataType

    CREATE TABLE #Temp (Column1 VARCHAR(100))
    INSERT INTO #Temp VALUES('★')
    SELECT * FROM #Temp
    

    Result

    ╔═════════╗
    ║ Column1 ║
    ╠═════════╣
    ║ ?       ║
    ╚═════════╝
    

    With NVARCHAR DataType

    CREATE TABLE  #Tempn (Column1 NVARCHAR(100) )
    INSERT INTO #Tempn VALUES(N'★')        --<-- N prefix for Unicode Characters
    SELECT * FROM #Tempn
    

    Result

    ╔═════════╗
    ║ Column1 ║
    ╠═════════╣
    ║ ★       ║
    ╚═════════╝
    

提交回复
热议问题