• پایان فعالیت بخشهای انجمن: امکان ایجاد موضوع یا نوشته جدید برای عموم کاربران غیرفعال شده است

مشکل فارسي

mehdi25

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2004
نوشته‌ها
1,318
لایک‌ها
2
محل سکونت
طهران
به نقل از mpst :
عزیز دل برادر حالا چرا میزنی :blink:

به روی چشم کد کامل رو میذارم

کد:
<%@ Language="VBScript" CodePage="65001" %>
<% option explicit %>
<%Session.CodePage="65001"%>
<!--#include file="adovbs.inc" -->
<!--#include file="functions.asp" -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Search result(s)</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="style.css" rel="stylesheet" type="text/css">
<%


'Dimension variabales
Dim objrs
Dim objcon
Dim strsql
Dim strDbPathAndName
Dim strkw
Dim strword
Dim bolfound
Dim iNoOfRecords
Dim icount
Dim word


icount=0
bolfound=false
'getting the kw 
strkw=request("kw")

'database path
strDbPathAndName = Server.MapPath("english.mdb")

'creating the connection object
set objcon=server.CreateObject("ADODB.connection")
objcon.connectionstring= "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" & strDbPathAndName
objcon.open

'sql string
strsql="SELECT * from main WHERE word LIKE '%"& strkw &"%' ORDER BY word ASC"

'creating the recordset object
set objrs=server.CreateObject("ADODB.recordset")
objrs.open strsql,objcon

%>
</head>
<body>

<%
iNoOfRecords=objrs.recordcount
Do while not objrs.eof
%>
<p>
<table width="68%" align="center" cellpadding="1" cellspacing="1" bordercolor="#FFFFFF" bgcolor="#FFFFFF" dir="rtl" style="BORDER-RIGHT: #6a8ccf 1px solid; BORDER-TOP: #6a8ccf 1px solid; BORDER-LEFT: #6a8ccf 1px solid; BORDER-BOTTOM: #6a8ccf 1px solid">
  <tr>
    <th width="68%" height="27" bgcolor="#EEF5FF" class="smText" scope="col"><span class="text">
      <% Response.Write(trim(objrs("Meaning"))) %>
    </span></th>
    <th width="32%" bgcolor="#E1EDFF" class="error" scope="col"><span class="smText">
      <% Response.Write(trim(objrs("word"))) %>
    </span></th>
  </tr>
</table>
</p>
  <p>
      <%
icount=icount+1
objrs.movenext
Loop
If icount<>0 then
Response.Write("<div align='center'>تعداد موارد یافت شده  : <span class=""number"">"& icount&"</span> لغت</div>")
response.Write("<div align='center'><a href='default.asp'>بازگشت</a></span></div>")
End if
 'Reset Server Objects
objrs.close
set objrs=nothing
objcon.close
set objcon=nothing
 %>
</p>
  <p align="center">
    <span class="number">
    <%
If icount=0 then 
%>
    </span> No result were found<br>
<a href="default.asp">please try again</a> </p>
 <% End if %>
</body>
</html>
ظاهراً این صفحه ایه که اطلاعات رو از بانک برمیداره و نمایش میده . تو این صفحه که من مشکلی ندیدم . باید درست باشه .
اطلاعات داخل بانک درست وارد شده . بانکتو باز کن بعد ببینی فیلد هایی که پر شده ????? یه یا درست پر شده .
یه چیز دیگه باید تست کنی .
مقداری که از صفحه قیل برای جستجو ارسال میشه رو قبل این که کاری انجام بدی رو نمایش بده ببین درست ارسال میشه ؟؟؟ مقدار KW رو میگم
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
همونطور که یکی از دوستان فرمودند برای یونیکد باید قبل از رشته یک حرف N قرار بدید. همچنین فیلدهای دیتابیس هم باید از نوع یونیکد باشند. یعنی مثلا nvarchar بجای varchar.
کد:
strsql="SELECT * from main WHERE word LIKE [B][COLOR="Red"]N[/COLOR][/B]'%"& strkw &"%' ORDER BY word ASC"
 

mpst

Registered User
تاریخ عضویت
24 فوریه 2005
نوشته‌ها
29
لایک‌ها
0
محل سکونت
Karaj
بچه ها من kw رو هم تو صفحه سرچ دیدم ، درست منتقل شده بود.

اون چیزی هم که Parham.G گفته بود انجام دادم این اررور رو داد

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'word LIKE N'%%''.
/e_learning/search.asp, line 48

اما این که فیلد های دیتابیس باید یونیکد باشه رو نفهمیدم ؟:( باید چیکارش کنم

من نمیدونم که دیگه باید چیکار کنم؟

لطفآ کمکم کنید​
 

Parham

Registered User
تاریخ عضویت
24 سپتامبر 2003
نوشته‌ها
1,042
لایک‌ها
2
به نقل از mpst :

اون چیزی هم که Parham.G گفته بود انجام دادم این اررور رو داد

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'word LIKE N'%%''.
/e_learning/search.asp, line 48

اما این که فیلد های دیتابیس باید یونیکد باشه رو نفهمیدم ؟:( باید چیکارش کنم

من نمیدونم که دیگه باید چیکار کنم؟

لطفآ کمکم کنید​
خوب اشتباه از من بوده! البته اشتباه من این بوده که متوجه نشدم شما برای Access میخواهید نه برای SQL Server. اون مواردی که من عرض کردم مربوط به SQL Server است.
 

mehdi25

کاربر تازه وارد
تاریخ عضویت
28 اکتبر 2004
نوشته‌ها
1,318
لایک‌ها
2
محل سکونت
طهران
به نقل از mpst :
بچه ها من kw رو هم تو صفحه سرچ دیدم ، درست منتقل شده بود.

اون چیزی هم که Parham.G گفته بود انجام دادم این اررور رو داد

Error Type:
Microsoft JET Database Engine (0x80040E14)
Syntax error (missing operator) in query expression 'word LIKE N'%%''.
/e_learning/search.asp, line 48

اما این که فیلد های دیتابیس باید یونیکد باشه رو نفهمیدم ؟:( باید چیکارش کنم

من نمیدونم که دیگه باید چیکار کنم؟

لطفآ کمکم کنید​
ببینم هنوز متون استاتیکت هم مشکل داره یا اونا رو درست نشون میده
 

mpst

Registered User
تاریخ عضویت
24 فوریه 2005
نوشته‌ها
29
لایک‌ها
0
محل سکونت
Karaj
اونا مشکلی ندارند

درست نشون داده می شن
 
بالا