Ajax ו- unicode

cool456

New member
Ajax ו- unicode

יש לי בעיה בהכנסת מידע לבסיס נתונים של אקסס כשאני משתמש ב ajax. אני מקבל סימנים מוזרים במקום עברית. הצעה אחת שקיבלתי היא לקחת את המחרוזת ולהפוך אותה ממצביעי קוד של unicode למצביעים בקידוד שאני רוצה. איך אני יכול לראות את המחרוזת כמצביעי קוד של unicode? למישהו יש דוגמא לכזה דבר? בתודה מראש ארז.
 

ברק קרב

New member
אם המדובר הוא ב .net

צריך לעשות ב בweb.config:
<globalization fileEncoding="windows-1255" culture="he-IL" uiCulture="he-IL"/>​
 

Master Boo

New member
שני דברים שעולים לי

א. לוודא שכשאתה שולח בJS אתה מעביר לו charset=utf-8. ב. לוודא ששני הקבצים, גם הJS וגם הASP שמורים כutf-8.
 

cool456

New member
אני משתמש ב VBscript

בכל מקרה הבעיה נוצרת לפי דעתי בגלל השימוש באקסס. הוא לא עובד עם utf-8. אתה מכיר דרך לשמור באקסס בקידוד של utf-8?
 

Master Boo

New member
מה ז"א אומרת "אני משתמש בVBscript"?

JS + ASP? ווידאת שמה שאמרתי לך תקף? כמו כן נסה להוסיף בJS את הפונקציה encodeURI(dataString) על המחרוזת אותה אתה שולח.
 

cool456

New member
תגובה

הדפים של האתר לא מקודדים ב utf-8. אני יודע ש ajax מעביר את המחרוזות ב unicode. מישהו אמר לי שאפשר להפוך את המצביעי unicode למצביעים של ascii. השאלה שלי היא אם יש למישהו דוגמא לזה? אני לא רוצה להתחיל לשנות את כל האתר ל utf-8. וכן, השתמשתי בפונקציה encodeURI בקוד של הג'אווה סקריפט בדף ה html. שוב, הבעיה שלי היא עם המסד נתונים. אני משתמש באקסס ואני לא מצאתי דרך לקדד אותו ב utf-8.
 

Master Boo

New member
ולמה לא לנסות את הקידוד?

רק שני הדפים שמדברים איתם- שמור את שניהם כUnicode. אם עובד, הרי לך הבעיה. לגבי "הפיכת המצביעים"- לא ברור לי מה הכוונה. אבל לא יצא לי לעבוד עם AJAX מול ACCESS.
 

cool456

New member
כבר ניסיתי לקדד אותם ב utf-8, ביניהם זה עובר

אבל מה שמתקבל במסד נתונים זה סימנים במקום עברית מכיוון שאני לא יודע איך לקדד את המסד של אקסס ב utf-8.
 

Xעמרי

New member
אין מה לקדד בDB

במיוחד אם אתה משתמש באקסס כל מה שאתה צריך לעשות זה להקפיד על שימוש ב
response.charset="utf-8" session.codepage=65001​
בכל הדפים שמבצעים הכנסה לDB ושליפה ממנו
 

cool456

New member
ניסיתי את העניין הזה

ניסיתי את העניין הזה, להוסיף: response.charset="utf-8" session.codepage=65001 כשאני מכניס ככה נתונים לאקסס ואחר כך אני נכנס לטבלה דרך התוכנה אני רואה סימנים במקום עברית. יכול להיות שכשאני ישלוף את הנתונים מהמסד הם יתקבלו שוב כעברית, אבל למה אני רואה אותם בתוכנה כסימנים במקום עברית?
 

cool456

New member
זה לא עובד

אני מקודד את דף ה html ואת דף ה asp ב utf-8 ואני שם את השורות: response.charset="utf-8" session.codepage=65001 בראש דף ה asp. וכשאני מעביר מחרוזת לדף ה asp ואז מחזיר אותה בחזרה אני מקבל סימנים במקום עברית. אם אני משנה את השורה ל: session.codepage=1255 אז פתאום המחרוזת חוזרת לי בעברית. בכל מקרה מה שנכנס למסד נתונים זה לא עברית. זה כל כך מסובך להעביר עברית ולהכניס עברית עם האג'קס הזה? ניסיתי כבר מלא קומבינציות, זה לא רוצה לעבוד.
 

darkestsoul

New member
escape characters

בצד של הג'אווה סרקיפט ששולח את ה XmlHttpRequest תעשה escape() לכל המידע בפוסט בצד של השרת אליו הrequest פונה תעשה unescape() דוגמא: client side: var thedata = 'data=' + escape(data) xmlhttp.send(thedata) server side: dim data data = unescape(request.post("data")) מקווה שזה יעזור
 
למעלה