小编use*_*228的帖子

将UTF-8字符串经典ASP转换为SQL数据库

所以我遇到了正确转换法语字符的问题.基本上,我有一个将数据发送到SQL数据库的表单.然后,在另一页上,检索来自该DB的数据并将其显示给用户.但是数据(字符串)显示的是错误的损坏字符,因为另一页上表单中的输入是法语.我通过使用以下函数克服了这个问题,该函数将字符串转换为正确的字符集.但是,显然更好的解决方案是将其转换为FIRST然后将其发送到数据库.现在这里是将从DB检索到的字符串转换为适当的字符集的代码:

Function ConvertFromUTF8(sIn)

    Dim oIn: Set oIn = CreateObject("ADODB.Stream")

    oIn.Open
    oIn.CharSet = "WIndows-1252"
    oIn.WriteText sIn
    oIn.Position = 0
    oIn.CharSet = "UTF-8"
    ConvertFromUTF8 = oIn.ReadText
    oIn.Close

End Function
Run Code Online (Sandbox Code Playgroud)

我从这里得到了这个功能:经典ASP - 如何将UTF-8字符串转换为UCS-2?

现在我的问题是,我使用什么函数来预先转换字符串然后将它们发送到数据库,这样当我检索它们时它们会很好用?

试过保罗的方法:

所以有第1页和第2页.第1页包含一个表单,当提交时,它将字符串发送到DB,然后在第2页中检索.我通过删除函数ConvertFromUTF8并将其保留原来的方式尝试了Paul的解决方案. (它返回了奇怪的芒果人物).之后,我在第1页和第2页的顶部添加了以下行.

<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
Run Code Online (Sandbox Code Playgroud)

我在两个页面上都有以下内容:

Response.CodePage = 65001 
Response.CharSet = "UTF-8" 
Run Code Online (Sandbox Code Playgroud)

但它不起作用:(

编辑:它有效!,非常感谢大家的帮助!我需要做的只是在第3页(我甚至没有谈到)之上添加"CodePage = 65001",其中写入数据库部分正在发生.

sql utf-8 character-encoding asp-classic

3
推荐指数
2
解决办法
8725
查看次数

使用html onclick,ASP调用VBScript子例程/函数

<%@ language = "VBScript"%>
<!DOCTYPE html>
<html>
<body> 

<form method="post" action = "">
<input type = "submit" onclick = "check()" value = "Submit"/>
</form> 

<%
sub check()
    Response.write("TEST")  
end sub
%>

</body>
</html>
Run Code Online (Sandbox Code Playgroud)

当我点击提交按钮时,由于某种原因,这不会打印"TEST".

html vbscript asp-classic

2
推荐指数
1
解决办法
2万
查看次数

标签 统计

asp-classic ×2

character-encoding ×1

html ×1

sql ×1

utf-8 ×1

vbscript ×1