zoukankan      html  css  js  c++  java
  • SQL Server插入中文数据后出现乱码

    今天在做项目的过程中遇到如标题的问题,情况如下图:

    数据库使用的是SQL Server2012版本,创建表的脚本如下:

    CREATE TABLE [dbo].[Type]
    (
      [TypeId] INT NOT NULL PRIMARY KEY,
        [TypeName] NVARCHAR(50)NOT NULL,
        [Description] NVARCHAR(255) NULL,
        [CategoryId] INT NOT NULL DEFAULT 0
    )

    根据一些相关文档提到的解决方案,需要包含中文数据的字段,一般定义为nchar/nvarchar数据类型。但实际应用中,即使这样定义了数据库表字段,也会产生乱码。此时尝试了另一种解决方案:即添加中文数据时, 在插入的中文字符前添加大写字母N,脚本示例如下:

    MERGE dbo.[Type] AS Target
    USING (
      SELECT 0, N'其它', N'未定义消费类别', 0
      UNION
      SELECT 1, N'主食', N'米、面、油、盐等', 1
      UNION
      SELECT 2, N'副食', N'肉、菜、蛋、熟食等' , 1
      UNION
      SELECT 3, N'餐饮', N'含堂食外送', 1
      UNION
      SELECT 4, N'饮料', '', 2

    经过验证,应用此方案可以解决中文乱码问题。

  • 相关阅读:
    getRandomInt getRandomString
    git 换行符替换
    Versions maven plugin 修改版本
    spotless-maven-plugin java代码自动格式化mvn spotless:apply -fn
    eclipse.ini
    JVM架构和GC垃圾回收机制
    查看搜狗浏览器记住的密码
    TestGc finalize()
    Storm个人学习总结
    mongo嵌套查询
  • 原文地址:https://www.cnblogs.com/LiangShanCamp/p/4076628.html
Copyright © 2011-2022 走看看