הוסטס - פורום אחסון האתרים הגדול בישראל

הוסטס - פורום אחסון האתרים הגדול בישראל (https://hosts.co.il/forums/index.php)
-   פורום תיכנות (https://hosts.co.il/forums/forumdisplay.php?f=14)
-   -   [שאלה] יצירת קובץ CSV עם עברית (https://hosts.co.il/forums/showthread.php?t=105886)

CBox.Co.il 08-12-13 19:50

[שאלה] יצירת קובץ CSV עם עברית
 
היי חברים,

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

אני מנסה ליצור קובץ CSV עם תוכן בעברית, התוכן HARDCODE (ללא מסד נתונים) והעמוד כמובן מקודד ב UTF-8.

הקוד שכתבתי:

PHP קוד:

header'Content-Type: text/csv' );
header'Content-Disposition: attachment;filename='.$filename);
$fp fopen('php://output''w');
fputcsv($fp'תיאור השדה'); 

חשוב להוסיף, שיחקתי עם הפונקציות ICONV & mb_convert_encoding.

אשמח לשמוע רעיונות.

תודה.

בניה 08-12-13 20:52

עם מה אתה פותח את הקובץ כשהוא יורד למחשב?
יכול להיות שהקידוד של הקובץ עצמו תקין אבל התוכנה שפותחת אותו מנסה לקרוא אותו בקידוד הלא נכון.

נסה עם notepad++

Ori The Man 08-12-13 23:02

כשהתעסקתי עם csv (ייצוא מידע ל csv)
השתמשתי ב
PHP קוד:

iconv('UTF-8','WINDOWS-1255'$str); 


CBox.Co.il 08-12-13 23:07

ניסיתי לא הלך..
הקטע המוזר זה אם אני פותח את המסמך בכול תוכנה אחרת זה מציג את העברית סבבה.
ואם אני פותח את המסמך בNOTEPAD++ ושומר זה נפתח בסדר ב CSV.

MAORBARI 08-12-13 23:56

ציטוט:

נכתב במקור על ידי CBox.Co.il (פרסם 884777)
ניסיתי לא הלך..
הקטע המוזר זה אם אני פותח את המסמך בכול תוכנה אחרת זה מציג את העברית סבבה.
ואם אני פותח את המסמך בNOTEPAD++ ושומר זה נפתח בסדר ב CSV.

אהלן אחי.. אני מקווה שאתה זוכר אותי (זה שעזר לך עם הפרוייקט הענק)..
תחליף את
PHP קוד:

header'Content-Type: text/csv' ); 

בזה:
PHP קוד:

header('Content-Type: text/csv; charset=utf-8'); 

ותוסיף את הקוד הבא מעל fputcsv של תיאור השדה:
PHP קוד:

fputcsv($fp"\xEF\xBB\xBF"); 


CBox.Co.il 09-12-13 11:04

ציטוט:

נכתב במקור על ידי MAORBARI (פרסם 884781)
אהלן אחי.. אני מקווה שאתה זוכר אותי (זה שעזר לך עם הפרוייקט הענק)..
תחליף את
PHP קוד:

header'Content-Type: text/csv' ); 

בזה:
PHP קוד:

header('Content-Type: text/csv; charset=utf-8'); 

ותוסיף את הקוד הבא מעל fputcsv של תיאור השדה:
PHP קוד:

fputcsv($fp"\xEF\xBB\xBF"); 


תמיד היית מועיל...
המון תודות אחי.


כל הזמנים הם GMT +2. הזמן כעת הוא 04:02.

מופעל באמצעות VBulletin גרסה 3.8.6
כל הזכויות שמורות ©
כל הזכויות שמורות לסולל יבוא ורשתות (1997) בע"מ