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

后端 未结 3 990
一个人的身影
一个人的身影 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:25
    insert into tablename values (N'★ ') 
    

    above is the syntax for inserting and make sure your field data type is nvarchar or try this test example

    create table test (abc nvarchar)
    insert into test values (N'★ ')
     select * from test
    
    0 讨论(0)
  • 2021-01-12 06:27

    Define the symbol as an NVARCHAR instead of a VARCHAR

    0 讨论(0)
  • 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 ║
    ╠═════════╣
    ║ ★       ║
    ╚═════════╝
    
    0 讨论(0)
提交回复
热议问题