-
שבוע טוב
יש לי שרת בקונטאבו ושם יש לי sql ב php my admin
הגדרתי את האיסוף ל utf8_general_ci
כשאני מוסיף נתונים בתוך php my admin אני רואה את את האותיות בעברית רגיל אבל כשאני מוסיף נתונים דרך האתר שלי כל האותיות בעברית נהיה לסימנים מוזרים
בנוסף הגדרתי בדף :<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
ולא עזר
מישהו נתקל?
יודע מה הפיתרון? -
אבל כשאני מושך את הנתונים לאתר שלי
חסר כאן פרטים. איך אתה "מושך את הנתונים"?
אני לא בקי בנושא, אבל נדמה לי שחוץ מהקידוד של הדאטה במסד הנתונים שזה נשלט על ידי הגדרה בעת יצירת ה-DB, יש גם קידוד שמשוייך לכל חיבור ל-DB. צריך לדאוג שגם זה יהיה ב-UTF-8.
אם תסביר איך אתה מתחבר ל-DB למשוך נתונים, יכול להיות שיהיה פה מי שידע להסביר לך איך להגדיר את הקידוד של החיבור.
(אם אתה ב-PHP, אולי קישור זה יעזור לך)
-
@yossiz
אוקיי אז אני ירחיב בsql מוגדר ככה:
ואני כותב לו ע"י php ככה:<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> </head> <body> <?php header('Content-Type: text/html; charset=utf-8'); $servername = "localhost"; $username = "****"; $password = "****"; $dbname = "****"; // Create connection $conn = mysqli_connect($servername, $username, $password, $dbname); // Check connection if (!$conn) { die("Connection failed: " . mysqli_connect_error()); } $sql = "INSERT INTO emailes (phone, count, text) VALUES (05466,4,'מה קורה')"; mysqli_query($sql, "SET NAMES ‘utf8’"); if (mysqli_query($conn, $sql)) { echo "New record created successfully"; } else { echo "Error: " . $sql . "<br>" . mysqli_error($conn); } mysqli_close($conn); ?> </body> </html>
ואני מקבל את זה כתווים מוזרים:
אשמח לקבל עזרה ממי שמכיר את התחום -
@ivrtikshoret אמר בעברית בsql:
mysqli_query($sql, "SET NAMES ‘utf8’");
תנסה להחליף את השורה 25
mysqli_query($sql, "SET NAMES ‘utf8’");
ל
mysqli_set_charset($conn ,"utf8");
ושים לב שאתה מריץ אותו לפני הפקודה של mysqli_query
-