Sql server 存储过程(asp)中表示的参数

Sql server 存储过程(asp)中表示的参数,sql-server,tsql,stored-procedures,asp-classic,Sql Server,Tsql,Stored Procedures,Asp Classic,我这里有一个存储过程: USE [RK] GO /****** Object: StoredProcedure [dbo].[PRC_THEKE_FRAGE_INSERT] Script Date: 03/09/2017 17:43:34 ******/ SET ANSI_NULLS OFF GO SET QUOTED_IDENTIFIER OFF GO ALTER PROCEDURE [dbo].[PRC_THEKE_FRAGE_INSERT] @frage nvarchar(255)

我这里有一个存储过程:

USE [RK]
GO
/****** Object:  StoredProcedure [dbo].[PRC_THEKE_FRAGE_INSERT]    Script Date: 03/09/2017 17:43:34 ******/
SET ANSI_NULLS OFF
GO
SET QUOTED_IDENTIFIER OFF
GO
ALTER PROCEDURE [dbo].[PRC_THEKE_FRAGE_INSERT] @frage nvarchar(255),@status bit, @kategorieID tinyint, @sgi nvarchar(8)
AS

-- Neuen Datensatz speichern
INSERT INTO LLThekeFragen SELECT @frage, @status, @kategorieId, @sgi
除非我的数据中有UMLAUT,否则此过程工作正常。然后它就把输入搞乱了。例如,插入后的外观如下所示:

贝格隆

这显然是错误的。我试着在这里检查,它实际上描述了问题。但是,不是在存储过程中。我还尝试将
N'
添加到变量中,但这显然会导致使用字符串(而不是实际值)

我当前表格的字符集是:
SQL\u Latin1\u General\u CP1\u CI\u AS

我尝试将frage的类型更改为varchar(255),但没有效果,删除了
N'
再次。。但什么也没起作用。在我的浏览器中检查数据时,SQL语句是正确的。插入时可能会出现错误

这就是我如何尝试在
asp classic

SQL = "EXEC PRC_THEKE_FRAGE_INSERT '" & request("question") & "'," & request("active") & ", " & request("categoryID") & ", '" & request("sgi") & "'"
conn.execute SQL
(我知道,现在没有消毒,我不应该这样做。现在请不要告诉我:)

更新

我的实际asp文件中的标题:

Very first line of my code:
<%@ LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>

in my <head>-area:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
我的代码的第一行:
在我的领域:
文件与我的存储过程:

'this indeed did the trick - had it in the wrong file
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001" %>

<%
dim conn,SQL
set conn = Server.CreateObject("ADODB.Connection")

'open DB connection
conn.open "DSN=well;UID=rk;PWD=wellwell"

SQL = "EXEC PRC_THEKE_FRAGE_INSERT N'" & request("question") & "'," & request("active") & ", " & request("categoryID") & ", '" & request("sgi") & "'"
conn.execute SQL

conn.close()

%>
“这确实起到了作用——它放在了错误的文件中

请确保将此内容包含在页面顶部

<%@Language="VBScript" CodePage = 65001 %>
<% 
  Response.CharSet = "UTF-8"
  Response.CodePage = 65001
%>

请确保将此内容包含在页面顶部

<%@Language="VBScript" CodePage = 65001 %>
<% 
  Response.CharSet = "UTF-8"
  Response.CodePage = 65001
%>

基弗雷根的frage数据类型是什么?如果不是nvarchar,那么您的it将永远不会正确显示。这之前已经得到了回答,只需在asp classic和utf-8上搜索就足够了。LLThekeFragen中的frage数据类型是什么?如果不是nvarchar,那么您的it将永远无法正确显示。这已经得到了回答,只需搜索asp classic和utf-8就足够了。@DasSaffe您是否使用
SqlDbType.nvarchar
作为参数类型?@DasSaffe好的,好的,做您告诉我们不要做的事情。Nvm@SqlZim,您是对的。代码页在错误的文件中。一切正常。感谢you@SqlZim不是“把你扔到公共汽车下面”,如果已经做了修改,请更新答案,因为“For asp classic”一节不太好。我以前已经写过,我只是重复我自己。@DasSaffe你是在使用
SqlDbType.NVarChar
作为参数类型吗?@DasSaffe好的,好的,做你告诉我们不要让你做的事。Nvm@SqlZim,你是对的。代码页在错误的文件中。一切正常。感谢you@SqlZim这不是“把你扔到车下”,如果已经做了修改,请更新答案,因为“For asp classic”部分不太好。我以前已经写过,我只是重复我自己。