Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/react-native/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
sql中的特殊字符未正确显示_Sql_Character Encoding - Fatal编程技术网

sql中的特殊字符未正确显示

sql中的特殊字符未正确显示,sql,character-encoding,Sql,Character Encoding,我有一个存储在tsql数据库中的字符串(预期的字符串应显示“a'string”),但当我将其加载到web浏览器中时,我看到所有特殊字符的“a';string”相同。编码也保存为数据库中的“a';string” 我相信我的网页编码与数据库不同,这就是问题的原因 运行后: SELECT SERVERPROPERTY('Collation') 我看到编码被设置为SQL\u Latin1\u General\u CP1\u CI\u AS,我已经将 <meta http-equiv=

我有一个存储在tsql数据库中的字符串(预期的字符串应显示
“a'string”
),但当我将其加载到web浏览器中时,我看到所有特殊字符的
“a';string”
相同。编码也保存为数据库中的
“a';string”

我相信我的网页编码与数据库不同,这就是问题的原因

运行后:

SELECT SERVERPROPERTY('Collation')
我看到编码被设置为
SQL\u Latin1\u General\u CP1\u CI\u AS
,我已经将

<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

在我的布局页面的头部

我很有信心这不是正确的类型,我一直在寻找一些关于如何解决这个问题的指导


我无法更改我的SQL server的任何内容,它是非常锁定的只读数据库。

您的数据库能够使用双字节,这不是问题所在。看起来您遇到了一个安全措施——对单引号进行转义/解码,以便它不会作为单引号(SQL的字符串分隔符)进入数据库执行


这不是SQL的问题,很可能您的服务器端代码正在使用htmlentities将特殊字符转换为HTML实体。不确定您使用的是什么语言,例如PHP,您可以使用html_entity_decode来正确显示它

$str = "a'string";
echo htmlentities($str,ENT_QUOTES);                                //OUTPUT a&#039;string
echo html_entity_decode(htmlentities($str,ENT_QUOTES),ENT_QUOTES); //OUTPUT a'string

这可能是重复的,请验证字符串在web浏览器中不是什么样子。这会有用的,呃,我觉得自己像个傻瓜!!!我只是使用了HttpUtility.HtmlDecode。正如我所说的,我不确定您使用的是什么语言,我给出了一个基于PHP的示例。但这个想法是普遍的。为了安全起见,您应该始终使用准备好的sql语句,如PDO。如果您只希望它正确显示,不要介意它如何存储在sql中,那么上面的示例不会对您当前的安全性造成任何损害,因为它只会更改输出。