עבור לתוכן

בעיה עם עברית בPHP...

Featured Replies

פורסם

קודם כל אני בטוח שהשאלה שלי נשמעת ממש ממש בסיסית ומשעממת ואני בטוח שחלק ממכם יגידו "מה הוא דפוק" זה שתי שניות לסדר....

קיצר - כמו שאמרתי - אני יודע.....

הבעיה היא כזאת:

יש לי אתר אינטרנט בקוד HTML וJS בלבד.. (וכרגיל גם סיומות הקבצים היו HTML)

באתר יש שורה בMETA שמקודדת את השפה כ UTF-8.... למה? כי זה הברירת מחדל של התוכנה שדרכה אני כותב את הHTML....

עכשיו העיניין הוא כזה - יש באתר איזה 30 עמודים ובכולם מופיע אותו איזור על עידכונים ובכולם כתוב בדיוק אותו דבר.... כל פעם שהייתי רוצה לשנות את זה אז הייתי צריך ללכת ולשנות 30 עמודים..

אז במקום זה אמרתי למה לא להשתמש בinclude בPHP.... קיצר העניין הוא שהעברית בעייתית....

שיניתי את סיומת הHTML לPHP והוספתי שורה כזאת איפה שאמורים להיות העדכונים:

<?php include ("update.php"); ?>

בתוך update.php יש רק echo של העידכון וזה נראה כך:

<?php

echo "THE UP DATE HERE"

?>

עכשיו כשאני מעלה את זה לשרת - כי אני לא יכול להריץ PHP אצלי על המחשב (ד"א מישהו יודע איך כן אפשר?) אז איפה שאמור להיות העידכונים מופיע ??? ?? ?? ??? ??? בקיצור לא רואים עברית אלא רק סימני שאלה....

חשבתי שאולי הבעיה היא בזה שהאתר מקודד לUTF-8 אז ניסיתי לשנות את הקידוד העברית שם לWINDOWS-1255 אבל אז כל האתר מופיע לי בסימני שאלה ורק האיזור של העידכונים מופיע בעברית.....

קיצר אין לי מושג מה לעשות - אולי יש איזה שיטה לקודד עברית בPHP שאני לא מכיר - חיפשתי בגוגל "קידוד עברית לPHP" ולא מצאתי שום דבר שהועיל לי....

תודה מראש.

ומצטער שוב על השאלה הבסיסית ביותר פשוט אני חדש בעסק....

פורסם

כדי להריץ PHP על המחשב שלך אתה צריך להתקין שרת ותוכנת php, הדרך הכי פשוטה היא להתקין חבילה שכבר כוללת את שניהם (ובדרך כלל גם mysql) ומקונפגת שהכל יעבוד ביחד. תנסה את http://www.wampserver.com/en או http://www.uniformserver.com.

לגבי הבעיה שלך, רוב הסיכויים הם שהקובץ update.php אינו מקודד ב-UTF8 אלא בקידוד עברי אחר. תפתח אותו בתוכנת עריכה שיודעת לטפל גם בקידוד ותמיר אותו לקידוד המתאים.

פורסם

רק טיפ קטן:

הדרך הנכונה לקבוע קידוד לאתר הוא קביעתו ע"י פונקציית הheader של PHP.

לדוגמא (כדי לקבוע קידוד UTF-8):

header('Content-type: text/html; charset=utf-8');

פורסם

אתה צריך גם לקודד את הקובץ עצמו ל UTF8

תשתמש בתוכנה NOTEPAD++

תקודד אותו ל UTF8 WITHOUT BOM

פורסם
  • מחבר

אתה צריך גם לקודד את הקובץ עצמו ל UTF8

תשתמש בתוכנה NOTEPAD++

תקודד אותו ל UTF8 WITHOUT BOM

קודם כל תודה לשלושתיכם - המון תודה!!!

דבר שני - איפה אני מקודד אם הקובץ עצמו? ומה זה בכלל לקודד את הקובץ עצמו? אי אפשר פשוט להוסיף שם איזה שורה שתעשה את זה?

פורסם

בטח יש איזה דרך לעשות את זה בפקודות אבל היא הרבה יותר מסובכת.

הדרך הפשוטה:

1. תפתח את הקובץ ב-notepad++

2. תבחר בתפריט Encoding -> Encode in UTF8 without BOM

3. תשמור את הקובץ

4. תעלה אותו לשרת ותבדוק אם זה פתר את הבעיה

פורסם

נראה לי שאפשר לעשות את זה גם עם Notepad רגיל, לא?

file > save as ואז למטה ב-encoding לבחור UTF8.

פורסם

^

ה Notepad של Windows שומר את זה בתור UTF8 WITH BOM, וזה לא ממש "בריא" ל PHP.

פורסם

^

צודק ב 100%

זה יגרום לבעיות כשמנסים לשנות HEADER או עוגיות או כל מיני דברים.

יש פקודות שאסור שיהיה OUTPUT לפניהין, וכשאר הקובץ מקודד כ WITH BOM, זה עושה צרות.

חוויתי את זה על בשרי עד שמצאתי איפה הייתה הבעיה.

ארכיון

דיון זה הועבר לארכיון ולא ניתן להוסיף בו תגובות חדשות.

דיונים חדשים