مشکل در ارسال مطالب فارسی فرم ASP
درود بر همه.
اول بگم که من تو سایت یه سرچی کردم مطلب مورد نظرم رو پیدا نکردم. چون با Dial Up اومدم یه تاپیک باز کردم. شرمنده.
دوم بگم که از کد نویسی ASP تقریبا خیلی کم میدونم.
من تو سایت شرکت که سرور ویندوز داره یه صفحه تماس گذاشتم و از کدهای ASP VBscript استفاده کردم که از یک سایت خارجی گرفتم. این فرم رو با دریم ویور ساختم. یه فایل ASP به نام Contact_us.asp و یک صفحه Html که فرم داخل اون قرار داره داریم.
این کدهای فایل ASP هست:
کد:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="65001"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Untitled Document</title>
</head>
<body>
<%
Const cdoSendUsingMethod = _
"http://schemas.microsoft.com/cdo/configuration/sendusing"
Const cdoSendUsingPort = 2
Const cdoSMTPServer = _
"http://schemas.microsoft.com/cdo/configuration/smtpserver"
Const cdoSMTPServerPort = _
"http://schemas.microsoft.com/cdo/configuration/smtpserverport"
Const cdoSMTPConnectionTimeout = _
"http://schemas.microsoft.com/cdo/configuration/smtpconnectiontimeout"
Const cdoSMTPAuthenticate = _
"http://schemas.microsoft.com/cdo/configuration/smtpauthenticate"
Const cdoBasic = 1
Const cdoSendUserName = _
"http://schemas.microsoft.com/cdo/configuration/sendusername"
Const cdoSendPassword = _
"http://schemas.microsoft.com/cdo/configuration/sendpassword"
Dim objConfig ' As CDO.Configuration
Dim objMessage ' As CDO.Message
Dim Fields ' As ADODB.Fields
Dim FirstName, Surname, Email, Website, Message
FirstName = Request.Form("FirstName")
Surname = Request.Form("Surname")
Email = Request.Form("Email")
Website = Request.Form("Website")
Message = Request.Form("Message")
' Get a handle on the config object and it's fields
Set objConfig = Server.CreateObject("CDO.Configuration")
Set Fields = objConfig.Fields
' Set config fields we care about
With Fields
.Item(cdoSendUsingMethod) = cdoSendUsingPort
.Item(cdoSMTPServer) = "webmail.tme-co.com"
.Item(cdoSMTPServerPort) = 25
.Item(cdoSMTPConnectionTimeout) = 10
.Item(cdoSMTPAuthenticate) = cdoBasic
.Item(cdoSendUserName) = "info@tme-co.com"
.Item(cdoSendPassword) = "********"
.Update
End With
Set objMessage = Server.CreateObject("CDO.Message")
Set objMessage.Configuration = objConfig
With objMessage
.To = "tamas@tme-co.com"
.From = "info@tme-co.com"
.Subject = "Contact Us Form"
.TextBody = Email & " sent this message at " & Now() & vbCrLf & "Surname: " & Surname & vbCrLf & "First Name: " & FirstName & vbCrLf & "Email: " & Email & vbCrLf & "Website: " & Website & vbCrLf & "Message: " & Message
.Send
End With
Set Fields = Nothing
Set objMessage = Nothing
Set objConfig = Nothing
if err then
response.Write err.Description
else
Response.redirect ("http://www.tme-co.com/fa/contact/company/success-mail.html")
end if
%>
</body>
</html>
و کد صفحه html که فقط قسمت مربوط به فرم رو مینویسم اینه:
کد:
<form action="contact_us.asp" method="post">
<p>
<label>Surname</label>
</p>
<p><span id="sprytextfield1">
<input type="text" name="Surname" id="Surname" lang="fa" />
<span class="textfieldRequiredMsg">A value is required.</span></span></p>
<p><label>First Name:</label>
</p>
<p>
<input type="text" name="FirstName" id="FirstName" />
</p>
<p><label>Email:</label>
</p>
<p>
<input type="text" name="Email" id="Email" />
</p>
<p><label>Website:</label>
</p>
<p>
<input type="text" name="Website" id="Website" />
</p>
<p><label>Message:</label>
</p>
<p>
<textarea name="Message" id="Message" cols="45" rows="5"></textarea>
</p>
<p> </p>
<p>
<input type="submit" name="button" id="button" value="Submit" />
</p>
</form>
<script type="text/javascript">
<!--
var sprytextfield1 = new Spry.Widget.ValidationTextField("sprytextfield1");
//-->
</script>
لازم به ذکره که این فرم برای مطالب و متن انگلیسی کار میکنه ولی برای متن فارسی مشکل داره.
با اینکه ظاهرا تنظیم Character ها UTF-8 هست ولی موقع ارسال فقط علامت سوال میفرسته.
دوستان من رو راهنمایی کنن که ایراد کجاست و چه کدی نیازه و این کد کجا باید وارد بشه.
در ضمن بحث PHP رو وارد نکنین چون من در مورد ASP پرسیدم.
مرسی.