store arabic in SQL database

前端 未结 9 531
栀梦
栀梦 2020-11-30 05:55

I tried to store Arabic string in SQL 2008 database but it converted to \" question mark \" why ? and what should I do ?

相关标签:
9条回答
  • 2020-11-30 06:04

    Iti is easy to store Arabic string in Oracle. Use this code:

    declare @P_CUSTOMER_NAME  nchar(50) 
    set @P_CUSTOMER_NAME2=N'أختبار'
    

    The above will save in Oracle just fine.

    0 讨论(0)
  • 2020-11-30 06:06

    You need to choose an Arabic collation for your varchar/char columns or use Unicode (nchar/nvarchar)

    CREATE TABLE #test
    (
    col1 VARCHAR(100) COLLATE Latin1_General_100_CI_AI,
    col2 VARCHAR(100) COLLATE Arabic_CI_AI_KS_WS,
    col3 NVARCHAR(100)
    )
    INSERT INTO #test VALUES(N'لا أتكلم العربية',N'لا أتكلم العربية',N'لا أتكلم العربية')
    

    Note the N before values in insert statement above. If you do not mention it, system will treat the values as Varchar, not NVarchar.

    SELECT * FROM #test
    

    Returns

    col1                           col2                           col3
    ------------------------------ ------------------------------ ------------------------------
    ?? ????? ???????               لا أتكلم العربية               لا أتكلم العربية
    

    To see a list of Arabic collations use

    SELECT name, description 
    FROM fn_helpcollations() 
    WHERE name LIKE 'Arabic%'
    
    0 讨论(0)
  • 2020-11-30 06:07

    You can change the collation on the database level instead of changing for each column in the database:

    USE master;
    GO
    ALTER DATABASE TestDB
    COLLATE Arabic_CI_AI;
    GO
    
    0 讨论(0)
  • 2020-11-30 06:10

    All of what you have to do is to make sure that

    the column Data type is nvarchar()

    after that I inserted Arabic with no problems

    0 讨论(0)
  • 2020-11-30 06:12

    insert into table (column) values (N'xxx').)

    You should put N before string to make it unicode

    0 讨论(0)
  • 2020-11-30 06:14

    Try using this:
    the column Data type is nvarchar()

    INSERT INTO CompanyMaster values(N'" + txtCompNameAR.Text + "',N'" + txtCompAddressAR.Text + "','" + txtPh.Text + "')
    
    0 讨论(0)
提交回复
热议问题