870
צפיות
צפיות
8
תשובות
תשובות
UTF ועברית
יש לי טופס שמכיל 2 שדות, אחד רגיל והשני מסוג קובץ:
<form action="?" method="post" enctype="multipart/form-data">
<input type="file" name="pic" />
<input name="string" />
<input type="submit" />
</form>
לאחר שליחה של הטופס קיים דף שמכניס את השדה לבסיס נתונים ומעלה את הקובץ לשרת, בעזרת ASP SMART UPLOAD.
הבעיה היא שבמידה והנתון שמוכנס לבסיס בעברית, מתקבלות צורות מוזרות במקום עברית.
הגדרתי בראש הדף
<%@ language="VBScript" codepage="65001" %>
<%Response.CharSet = "utf-8"%>
וגם ב UPLOAD
X.CodePage = "utf-8"
מה שכן שמתי לב זה שאם אני מעיף את ה CODE PAGE הראשון, אז הנתונים שנכנסו בצורה לא טובה לבסיס מוצגים כעברית אבל נתונים אחרים שנכנסו בצורה טובה לבסיס מוצגים כצורות מוזרות.
אשמח לפיתרון, תודה מראש
8 תשובות
אז ככה..
טעות בהודעה הקודמת
אז ככה, מה שאתה עשית זה משהו שלא אפשרי, ברגע שרשמת את זה
<%@ language="VBScript" codepage="65001" %>
זה אומר לדף שהקידוד שלו הוא 65001, לי לא זכור מה הקידוד הזה אבל תבדוק בגוגל תקבל תוצאה מהירה.
עכשיו הבעיה השניה, ששורה לאחר מכן אתה שוב פעם נותן קידוד נוסף לעמוד.
אתה צריך להחליט עם איזה קידוד אתה עובד ולהגדיר אותו פעם אחת בראש העמוד ולא כמה פעמים.
אני אישית הייתי ממליץ לך לנסות להריץ את הדף בלי שום הגדרה של קידוד, תראה מה תקבל.
תודה,
65001 הוא קידוד של UTF .
עשיתי את מה שהצעת והתוצאה הייתה שכל הנתונים שנכנסו לבסיס בצורות מוזרות – מוצגים כעברית, לעומת זאת כל הנתונים שנכנסו לבסיס בצורת עברית מוצגים כסימנים מוזרים.
תנסה להשתמש במספר גם באובייקט…
כלומר
X.CodePage = "65001"
פיתרון
זה בגלל שבהתחלה הכנסת את הנתונים בקידוד שונה, ועכשיו אתה מציג את הנתונים בקידוד שונה, בגלל זה אתה רוצה חצי עברית וחצי ג'יבריש.
מה שאתה צריך לעשות זה לתרוקן את המסד נתונים שלך ולעבוד מההתחלה עם הקוד החדש שנתתי לך, ואז כל מה שיכנס למסד יהיה כעברית, כנ"ל לגבי מה שיוצג.
עדיין הבעיה נמשכת
תודה
בהמשך לזה,
אז העברית באתר מוצגת טוב אבל בגלל שהיא לא נכנסת לבסיס נתונים בתור עברית [אלא בתור סימנים מוזרים] אז אני לא יכול לקבל מחרוזת בעברית ולחפש לפי זה בבסיס, כי אני מקבל עברית ובעצם מחפש בנתונים שהם סימנים מוזרים כאלה, איך בכל זאת אפשר להתגבר על זה?
תודה