ABA


"PHP- מצליח לכתוב לCSV ערכים בעברית, מצליח לקרוא רק באנגלית."
גירסת הדפסה        
קבוצות דיון פיתוח, תיכנות ובניית אתרים נושא #20041 מנהל    סגן המנהל    מפקח   Winner    צל"ש   מומחה  
אשכול מספר 20041
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12357 הודעות, 22 פידבק
   21:57   23.05.13   
אל הפורום  
  PHP- מצליח לכתוב לCSV ערכים בעברית, מצליח לקרוא רק באנגלית.  
 

הקידוד בכל הדפים שמתעסקים עם הCSV הוא UTF-8 Without BOM, נבדק ע"י Notepad++.

בכל הדפים מוגדר בראש הדף


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

ובתוך הHTML גם מוגדר קידוד UTF-8.
מה יכולה להיות הסיבה?
כל מה שאני מכניס באנגלית רואים בפלט, כל מה שאני מכניס בעברית נכתב לקובץ (כשאני פותח את הקובץ הערכים מופיעים בפנים) אבל בכתיבת פלט לדף רואים, כאמור, רק את האנגלית.

מה יכולה להיות הבעיה?


--
צחי.


                                שתף        
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

  האשכול     מחבר     תאריך כתיבה     מספר  
  אוקי, עכשיו מצאתי את הדבר המעניין הבא sza  23.05.13 22:13 1
     יפה שמצאת. אחד הדברים המסתכלים זה הנושא של encoding dvir8 24.05.13 00:57 2
         כן, האמת שקצת הפליא אותי שפונקציה בסיסית שכזו לא תומכת בעברית sza  24.05.13 02:36 3

       
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12357 הודעות, 22 פידבק
   22:13   23.05.13   
אל הפורום  
  1. אוקי, עכשיו מצאתי את הדבר המעניין הבא  
בתגובה להודעה מספר 0
 
ערכתי לאחרונה בתאריך 23.05.13 בשעה 22:17 בברכה, sza
 

ציטוט
Ok, found a solution to it. This goes for all of you who encounter a similar problem not necessarily with Hebrew, but with any other multibyte language: fgetcsv does not support multibyte. Hence, it will never read Hebrew. Step one was that I had to write the file with fwrite and read it with fread instead of using fputcsv and fgetcsv. Step two was to use mb_send_mail() function instead of the plain mail() function, and before calling it, setting the mb_language('he') and mb_internal_encoding('UTF-8'). Now it all works well. Cron sends the emails perfectly.

מתוך http://stackoverflow.com/questions/16089903/php-cron-script-read-from-from-csv-file-and-email-utf-8

וזו גם הסיבה שהצלחתי רק לכתוב ולא לקרוא, את הכתיבה לקובץ יצרתי בלולאה עם fwrite...

אם הייתי יודע את זה לא הייתי בונה מלכתחילה את הפונקציה הזו על csv =\


--
צחי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
dvir8
חבר מתאריך 13.5.02
5929 הודעות
   00:57   24.05.13   
אל הפורום  
  2. יפה שמצאת. אחד הדברים המסתכלים זה הנושא של encoding  
בתגובה להודעה מספר 1
 
  


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד
sza  לחץ כאן להצגת דירוג המשתמש
חבר מתאריך 26.4.02
12357 הודעות, 22 פידבק
   02:36   24.05.13   
אל הפורום  
  3. כן, האמת שקצת הפליא אותי שפונקציה בסיסית שכזו לא תומכת בעברית  
בתגובה להודעה מספר 2
 

במיוחד כשמדובר בPHP, שפה שישראל היא פחות או יותר הבית שלה...

לא נורא, השתמשתי ב ()fgets() + explode.

--
צחי.


                                                         (ניהול: מחק תגובה)
מכתב זה והנלווה אליו, על אחריות ועל דעת הכותב בלבד

תגובה מהירה  למכתב מספר: 
 
___________________________________________________________________

___________________________________________________________________
למנהלים:  נעל | תייק בארכיון | מחק | העבר לפורום אחר | מחק תגובות | עגן אשכול
       



© כל הזכויות שמורות ל-רוטר.נט בע"מ rotter.net