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

הוסטס - פורום אחסון האתרים הגדול בישראל (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=108645)

dor77 12-04-15 00:48

יצירת קובץ csv עם עבברית
 
יש לי את הקוד הזה:

PHP קוד:

// output headers so that the file is downloaded rather than displayed
header('Content-Type: text/csv; charset=utf-8');
header('Content-Disposition: attachment; filename=data.csv');

// create a file pointer connected to the output stream
$output fopen('php://output''w');

// output the column headings
fputcsv($output, array('שדה 1''שדה 2''שדה 3'));

include(
'config.php');
$id 2;
$sql "SELECT name FROM shoes WHERE event_id = '$id'";
$result mysqli_query($connection,$sql);

// loop over the rows, outputting them
while ($row mysqli_fetch_assoc($result)) fputcsv($output$row); 

השורה של "שדה1 וכ'ו אני מקבל מעולה..בעברית.
את השורה של הנתונים שאמורים לצאת מהמסד אני מקבל ככה:
"׳“׳•׳¨ ׳‘׳

קובץ הconfig שלי:

PHP קוד:

defined('DB_HOST')? null define('DB_HOST''localhost');
defined('DB_USER')?  null define('DB_USER''***');
defined('DB_PASS')?  null define('DB_PASS''***');
defined('DB_NAME')?  null define('DB_NAME''***');

$connection mysqli_connect(DB_HOST ,DB_USER ,DB_PASS ,DB_NAME);

if (
mysqli_connect_errno($connection)){
    echo 
"Failed to connect to MySQL: " mysqli_connect_error();
    die();
}

mysqli_set_charset($connection"utf8"); 

כמו שאתם רואים הוא מכיל mysqli_set_charset
המסד + הטבלאות + השדות מקודדים utf8_general_ci

מישהו יודע מה הבעיה? הדף מקודד utf-8...גם עובדה שהשורה הקבועה יוצאת בעברית..

אשמח לעזרה..תודה.

xoox 12-04-15 04:03

נסה ככה
PHP קוד:

$connection->query("SET NAMES 'utf8'"); 


dor77 12-04-15 07:59

ציטוט:

נכתב במקור על ידי xoox (פרסם 895098)
נסה ככה
PHP קוד:

$connection->query("SET NAMES 'utf8'"); 


תודה..אבל נשאר אותו הדבר.

HagaiA 12-04-15 21:12

בתאים של הטבלאות שים את הקידוד utf8_general_ci
ושהקובץ יהיה UTF-8 Without BOM

dor77 12-04-15 22:21

זה המצב כרגע.
שים לב גם שהטקסט הרגיל (לא מהמסד) בעברית.

עוד הצעות בבקשה?

xoox 13-04-15 07:27

בדקת על איזה קידוד השדות בתוך טבלת הSQL?

M.a.T.a.N 13-04-15 17:00

במסד עצמו הטבלאות והעמודות כולם מקודדים בUTF8ֹ_GENERAL_CI?

xoox 13-04-15 22:04

אתה רואה אותם ב-PHPMYADMIN על עברית תקינה ?

Erez | TrustMedia.co.il 15-04-15 08:00

תנסה את זה:
PHP קוד:

    $mysqli->query("SET NAMES 'UTF8' COLLATE 'utf8_general_ci'");
    
$mysqli->query("set character_set_client='utf8'");
    
$mysqli->query("set character_set_results='utf8'");
    
$mysqli->query("set collation_connection='utf8_general_ci'"); 



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

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