首页 > 解决方案 > Azure SQL 处理特殊字符

问题描述

我正在使用带有休眠(作为 ORM)和 Java 作为编程语言的 Azure SQL(作为数据库),我们有一个将地址存储为 JSON 的地址列,我们在存储转换为“???”的特殊字符时遇到问题"(问号)

示例:“Ω”被存储为“?”

表:

CREATE TABLE test.[order](.....
.......
[shipping_address] [nvarchar](max) NOT NULL
  .......
  .......
  )

提前致谢。

这是我们可以用列类型(Nvarchar)和休眠中的数据类型作为字符串来解决的第一个问题。它适用于本地的 SQL-Server,但在 azure-sql 的 UAT 中,它不起作用。两者具有相同的排序规则:SQL_Latin1_General_CP1_CI_AS

标签: javasqlsql-serverhibernateazure-sql-database

解决方案


  • SQL 需要 NVarchar 来存储特殊字符。
  • 您已经使用 NVarchar 数据类型创建了列,这绝对没问题。
  • 在为插入语句传递参数时,将列数据类型编辑为 NVarchar。
  • 如果手动插入,则必须N在字符前使用

在此处输入图像描述


推荐阅读