Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Καλησπερα.

 

Εχω φτιαξει κωδικα σε php για upload εικονων.

 

Στο αρχειο της php που κανει το upload εχω βαλει

$dbh->exec("SET NAMES UTF8");
$dbh->query('SET NAMES UTF8');

Ο Browser τρεχει σε utf8. Στη βαση δεδομενων (postgreSQL 9.1) το encoding ειναι utf8 αλλα το collaction και το character type ειναι Greek_Greece.1253.

 

Οταν ανεβαζω εικονες, το αρχειο αποθηκευετε σε εναν φακελο στον Apache. Παραλληλα ο τιτλος αποθηκευετε στη βαση για να μπορω να τη βαλω στο σαιτ μετα.

 

Οταν λοιπον ανεβασω μια εικονα που εχει τιτλο στα ελληνικα στη βαση αποθηκευετε κανονικα, πχ " χωρις τιτλο.bmp". Στον φακελο, το αρχειο εχει ονομα χωΟΞ―Ο‚ τίτλο 

 

Οταν παω να την βαλω στο σαιτ, μου λεει δεν βρεθηκε , γτ ο broser ψαχνει για την εικονα %CF%87%CF%89%CF%81%CE%AF%CF%82%20%CF%84%CE%AF%CF%84%CE%BB%CE%BF.bmp

 

Ναι, το προφανες ειναι "αλλαξε το collation και καντο utf8"

 

Πρωτων, πως γινετε? Δεν εχω πολυ εμπειρια με postgreSQL

 

Δευτερον, γτ εχω αυτο το προβλημα μονο στις εικονες και οχι στην υπολοιπη βαση? Το προβλημα αυτο εντοπιζετε μονο στη συγκεκριμενη στηλη του συγκεκριμενου πινακα. Σε οποια αλλη στηλη, αλλου πινακα και να γραψω ελληνικα τα εμφανιζει κανονικα και η βαση και το σαιτ...

 

What kind of sorcery is this ?

 

Ευχαριστω πολυ

Δημοσ.

Εκανα κατι αντιστοιχο για postgreSQL, εβαλα

ALTER TABLE pinakas ADD COLUMN myColumn text COLLATE pg_catalog."C";

που ειναι για να αλλαξεις το collaction σε C. Αλλα και παλι, το ονομα του αρχειου αποθηκευετε λαθος στον φακελο, δηλαδη ετσι χωΟΞ―Ο‚ τίτλο 

 Μηπως παιζει κανα προβλημα στον σερβερ ή στο php αρχειο που αποθηκευει τις εικονες?

 

Δεν ξερω τι αλλο να κανω εκτος απο το να βαλω

$dbh->exec("SET NAMES UTF8");
$dbh->query('SET NAMES UTF8');

στο αρχειο.

 

Καμια αλλη ιδεα?

Δημοσ.

Λοιποοοοον.....

 

-Το αρχειο της php περιεχει

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

$dbh->exec("SET NAMES UTF8");
$dbh->query('SET NAMES UTF8');

-Δουλευω σε dreamweaver. Αποθηκευω τα αρχεια σε utf8 encoding , με collation C και χωρις BOM

 

-Η βαση εχει utf8 encoding. Collation και Character type ειναι Greek_Greece.1253. Η στηλη του πινακα που αποθηκευοντε τα ονοματα των εικονων εχει collation pg_catalog."C" , δηλαδη C.

 

-O Browser τρεχει σε utf8

 

-Δουλευω σε windows 7 home premium και η default γλωσσα στο Πινακας ελεγχου> περιοχη και γλωσσα > Μορφη ειναι Ελληνικα

 

-Δοκιμασα να εισαγω την

iconv

στον κωδικα του upload.

 

Καπως ετσι

$name5=$_FILES["file"]["name"];
$fn2=iconv("utf-8","cp737",$name5);

//move file to the right folder , named "upload"
 move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $φν2);


//insert image's title to database
$stu = $dbh->prepare("UPDATE multi SET m_place=:name, m_type=:ind WHERE m_id = :id");
$stu->bindParam(':name', $n, PDO::PARAM_STR);					
$stu->bindParam(':id', $i, PDO::PARAM_STR);					
$stu->bindParam(':ind', $in, PDO::PARAM_STR);
											
$n="upload/".$fn2;


και μαντεψτε...δεν δουλευει !!! Στη βαση το αφηνει απλα κενο, δεν αποθηκευει τιποτα. Στο φακελο, το ονομα της εικονας ειναι ®ΰ¨ε «ε«Ά¦ - €¤«ε¨­¦ (12) - €¤«ε¨­¦

 

 

Εδω σας θελω μαγκες....

 

Εγω τα φτυσα, δε ξερω τι αλλο να κανω...

 

Οποιαδηποτε προταση, ιδεα, εξορκιστης, μαγος...καλοδεχουμενα

Δημοσ.

Κάποιες ηλίθιες λύσεις μπορεί να είναι και αυτό που ψάχνουμε.  :-D

1) Μήπως ανεβάζεις φωτό με ελληνικούς χαρακτήρες ή παρενθέσεις στους τίτλους?

2) Επειδή είχα πάθει κάτι παρόμοιο πιο παλιά που δεν είχε λογική όμως,βάλε στο php αρχείο σου το παρακάτω στο τέλος.

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

Ελπίζω να είναι κάτι από αυτά τα 2 και να βοήθεισα.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...