手机端asp网页提交订单到access数据库,偶尔会出现乱码!求高手

1,这个问题不是全部,而是小部分,大概有50分之一的手机订单会出现这个问题,自己和同事测试都没有问题,所有很头疼。我的页面编码都统一是gb2312,乱码的是在access... 1,这个问题不是全部,而是小部分,大概有50分之一的手机订单会出现这个问题,自己和同事测试都没有问题,所有很头疼。我的页面编码都统一是gb2312,乱码的是在access数据库中:
2,括弧这段就是出现过的乱码情况,是因为提交进去utf8的编码导致,但是为什么会是utf8? 想不通.( 跺鏄?txtAge=浜戝崡鐪佺孩娌宠嚜娌诲窞寮ュ嫆铡?ProductSendAddr=
浜戝崡鐪佸讥鍕掑竞瑗夸簩闀囩洂濉樻沩- )
-----
3,页面全是gb2312,只有这个order.js调用是utf-8,这个order.js是判断输入订单是否为空作用。这个应该不影响。<script type="text/javascript" src="order.js" charset="utf-8" ></script>

4,我贴出部分关键代码,这个表单是gb2312的,

<form action="SaveAcceptJob_ding.asp" method="post">

<input value="天津市和平区" name="ProvinceCopy" id="ProvinceCopy" type="hidden">

<textarea class="shoujiyr_ta" name="ProductSendAddr" id="UserAddress">
<input type="submit" onClick="return AddOrder(this);" style=" display:block; padding:10px; font-weight:bold; text-align:center; font-size:18px;" value="点击提交订单" name="submit">

---------------------

SaveAcceptJob_ding.asp也是gb2312,用来连接数据库和接收数据并且保存到数据库中。
另外一直有个问题想不通:如果在一个不支持gbk编码的系统上!
如果安装搜狗输入法,能打出汉字吗?
如果可以打出汉字,那么提交到时,按什么编码传递的?
展开
 我来答
信息化管理咨询
2014-10-23 · 企业信息化,方案、技术、实施等。
信息化管理咨询
采纳数:380 获赞数:514

向TA提问 私信TA
展开全部
<script type="text/javascript" src="order.js" charset="utf-8" ></script>
改为
<script type="text/javascript" src="order.js" charset="gb2312" ></script>
好永诚B
2014-10-23 · TA获得超过251个赞
知道小有建树答主
回答量:277
采纳率:50%
帮助的人:167万
展开全部
function UTF2GB(UTFStr)
for Dig=1 to len(UTFStr)
if mid(UTFStr,Dig,1)="%" then
if len(UTFStr) >= Dig+8 then
GBStr=GBStr & ConvChinese(mid(UTFStr,Dig,9))
Dig=Dig+8
else
GBStr=GBStr & mid(UTFStr,Dig,1)
end if
else
GBStr=GBStr & mid(UTFStr,Dig,1)
end if
next
UTF2GB=GBStr
end function
function ConvChinese(x)
A=split(mid(x,2),"%")
i=0
j=0
for i=0 to ubound(A)
A(i)=c16to2(A(i))
next
for i=0 to ubound(A)-1
DigS=instr(A(i),"0")
Unicode=""
for j=1 to DigS-1
if j=1 then
A(i)=right(A(i),len(A(i))-DigS)
Unicode=Unicode & A(i)
else
i=i+1
A(i)=right(A(i),len(A(i))-2)
Unicode=Unicode & A(i)
end if
next
if len(c2to16(Unicode))=4 then
ConvChinese=ConvChinese & chrw(int("&H" & c2to16(Unicode)))
else
ConvChinese=ConvChinese & chr(int("&H" & c2to16(Unicode)))
end if
next
end function
function c2to16(x)
i=1
for i=1 to len(x) step 4
c2to16=c2to16 & hex(c2to10(mid(x,i,4)))
next
end function
function c2to10(x)
c2to10=0
if x="0" then exit function
i=0
for i= 0 to len(x) -1
if mid(x,len(x)-i,1)="1" then c2to10=c2to10+2^(i)
next
end function
function c16to2(x)
i=0
for i=1 to len(trim(x))
tempstr= c10to2(cint(int("&h" & mid(x,i,1))))
do while len(tempstr)<4
tempstr="0" & tempstr
loop
c16to2=c16to2 & tempstr
next
end function
function c10to2(x)
mysign=sgn(x)
x=abs(x)
DigS=1
do
if x<2^DigS then
exit do
else
DigS=DigS+1
end if
loop
tempnum=x
i=0
for i=DigS to 1 step-1
if tempnum>=2^(i-1) then
tempnum=tempnum-2^(i-1)
c10to2=c10to2 & "1"
else
c10to2=c10to2 & "0"
end if
next
if mysign=-1 then c10to2="-" & c10to2
end function
GB2312转UTF-8
'个人代码风格注释(变量名中第一个小写字母表表示变量类型)
'i:为Integer型;
's:为String;
Function U2UTF8(Byval a_iNum)
Dim sResult,sUTF8
Dim iTemp,iHexNum,i
iHexNum = Trim(a_iNum)
If iHexNum = "" Then
Exit Function
End If
sResult = ""
If (iHexNum < 128) Then
sResult = sResult & iHexNum
ElseIf (iHexNum < 2048) Then
sResult = ChrB(&H80 + (iHexNum And &H3F))
iHexNum = iHexNum \ &H40
sResult = ChrB(&HC0 + (iHexNum And &H1F)) & sResult
ElseIf (iHexNum < 65536) Then
sResult = ChrB(&H80 + (iHexNum And &H3F))
iHexNum = iHexNum \ &H40
sResult = ChrB(&H80 + (iHexNum And &H3F)) & sResult
iHexNum = iHexNum \ &H40
sResult = ChrB(&HE0 + (iHexNum And &HF)) & sResult
End If
U2UTF8 = sResult
End Function
Function GB2UTF(Byval a_sStr)
Dim sGB,sResult,sTemp
Dim iLen,iUnicode,iTemp,i
sGB = Trim(a_sStr)
iLen = Len(sGB)
For i = 1 To iLen
sTemp = Mid(sGB,i,1)
iTemp = Asc(sTemp)
If (iTemp>127 OR iTemp<0) Then
iUnicode = AscW(sTemp)
If iUnicode<0 Then
iUnicode = iUnicode + 65536
End If
Else
iUnicode = iTemp
End If
sResult = sResult & U2UTF8(iUnicode)
Next
GB2UTF = sResult
End Function

先把上面的代码写成单独的gb2312.asp,然后包含到你的文件中,然后把数据强制转换为gb2312,使用方法如下

Response.BinaryWrite(GB2UTF("中国人")) '中国人换成你的变量或者字符串
更多追问追答
追问
老大,别这么粗暴好不好
追答
.......也不是很费事嘛,强制转换一下也没有关系的吧←_←
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友7558ae7
2014-10-23 · TA获得超过5797个赞
知道小有建树答主
回答量:1730
采纳率:50%
帮助的人:1697万
展开全部
如果是你是用JS异步的方式提交的话,由於你的JS编码是UTF-8所以会出现这种问题
更多追问追答
追问
大哥你看了没啊?怎么会是异步啊。明明是通过SaveAcceptJob_ding.asp
来提交的
追答
建议把中文UrlEncode一下,有没有判定是否跟浏览器有关,不知道你是用什麼方式测试的,因为只是部分问题,建议跟踪一下浏览器试试,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式