Απο latin1 σε greek. Πώς;

Συζητήσεις για την βάση δεδομένων MySQL και το phpMyAdmin

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από cdhyper » 11 Μαρ 2008 21:08

Μου έδωσαν μια παλιά βάση που έβαζαν τα ελληνικά μέσα σαν latin1_swedish. Ναι μεν στο site φαίνονται κανονικά τα ελληνικά αλλά αυτό είναι πρόβλημα γενικά (και στις αναζητήσεις/ταξινομήσεις και στο μέλλον μπορεί να προκύψει κάτι σοβαρό). Βέβαια στο phpmyadmin φαίνονται κινέζικα.

Υπάρχει τρόπος να μετατρέψω τα δεδομένα σε greek_general_ci; Λογικά σκεπτόμενος, αφού στην ιστοσελίδα φαίνονται κανονικά, πρέπει να υπάρχει τρόπος/ελπίδα να τα μετατρέψω σε greek. Καμια ιδέα;
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
Burned4
Δημοσιεύσεις: 324
Εγγραφή: 21 Σεπ 2007 12:50
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από Burned4 » 11 Μαρ 2008 23:26

Kάνε ένα dump τη βάση και στο αρχείο που θα βγεί με κατάληξη .sql κάνε edit. Δες αν οι καταχωρήσεις είναι στα ελληνικά. Αν ναι τότε είσαι μια χαρα. Στον κάθε πίνακα που έχει, υπάρχει και το encoding.

Πχ.

Κώδικας: Επιλογή όλων

ENGINE=MyISAM DEFAULT CHARSET=utf8


Αλλαξε το charset σε ότι θέλεις (πχ. greek) και ξαναφόρτωσε το dump αρχείο στη βάση.

Λογικά έτσι θα κάνεις αυτό που θέλεις.
You can do anything, but not everything.

Άβαταρ μέλους
cdhyper
Literature Moderator
Δημοσιεύσεις: 9707
Εγγραφή: 23 Ιουν 2001 03:00
Τοποθεσία: Φωτονερόπετρα
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από cdhyper » 11 Μαρ 2008 23:52

Μπα sorry αλλά αυτό ήταν το πρώτο που δοκίμασα. Κινέζικα βγαίνουν, όπως και στο phpmyadmin.
Σύγκριση τιμών Supermarket: http://www.shopnsave.gr
Νέα Ιταλικα επιπλα κουζινας
Για φιλοσόφους: http://filosofia.gr και http://liantinis.org

Άβαταρ μέλους
Burned4
Δημοσιεύσεις: 324
Εγγραφή: 21 Σεπ 2007 12:50
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από Burned4 » 12 Μαρ 2008 02:16

Τότε δοκίμασε με κανένα sql interface προγραμμα όπως το Navicat μήπως μπορέσεις να κάνεις τιποτα.
You can do anything, but not everything.

alexsoft

Απο latin1 σε greek. Πώς;

Δημοσίευση από alexsoft » 12 Μαρ 2008 07:04

cdhyper έγραψε:Μου έδωσαν μια παλιά βάση που έβαζαν τα ελληνικά μέσα σαν latin1_swedish. Ναι μεν στο site φαίνονται κανονικά τα ελληνικά αλλά αυτό είναι πρόβλημα γενικά (και στις αναζητήσεις/ταξινομήσεις και στο μέλλον μπορεί να προκύψει κάτι σοβαρό). Βέβαια στο phpmyadmin φαίνονται κινέζικα.

Υπάρχει τρόπος να μετατρέψω τα δεδομένα σε greek_general_ci; Λογικά σκεπτόμενος, αφού στην ιστοσελίδα φαίνονται κανονικά, πρέπει να υπάρχει τρόπος/ελπίδα να τα μετατρέψω σε greek. Καμια ιδέα;
Το βασικότερο είναι να βγουν σωστά από την βάση και να μπορείς να τα διαβάσεις στα ελληνικά π.χ. μέσω του Notepad.
Εγώ προσωπικά την μετατροπή την έκανα μέσω DW. Στην συνέχεια θα πρέπει πρώτα να αλλάξεις το encoding σε greek_general_ci στην βάση ώστε τα δεδομένα των tables να εισαχθούν σωστά.
Προσωπικά συνιστώ την αποφυγή του ISO και μεταφορά σε UTF-8 για μέγιστη συμβατότητα στο μέλλον.

Όσο αφορά το phpMyAdmin τι encoding επιλέγεις κατά την είσοδό σου σε αυτό;

Άβαταρ μέλους
CyberCr33p
Honorary Member
Δημοσιεύσεις: 3194
Εγγραφή: 06 Νοέμ 1999 01:00
Τοποθεσία: Αθήνα
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από CyberCr33p » 12 Μαρ 2008 11:01

Δοκίμασε και το εξής:

Κώδικας: Επιλογή όλων

iconv -f iso-8859-7 -t utf-8 < old.sql > new.sql

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από Intefix » 27 Σεπ 2009 10:35

Παιδιά καλημέρα...το ίδιο πρόβλημα έχω και γω....
Κατέβασα μια έφαρμογή σε web με PHP και MySQL. Είναι για κράτηση εισητηρίων κλπ.
Έχει 4 Interfaces. Του διαχειριστή, του πωλητή, του επισκέπτη και του συλλέκτη.
Την έστησα σε ένα site για να τη δοκιμάσω.
Στον ίδιο σερβερ έχω και 5-6 CMS που δουλεύουν μια χαρά τα Ελληνικά σε όλα τα επίπεδα.
Άρα θέμα σερβερ δεν τιθεται.
Στη μεριά του πελάτη γράφω και βλέπω κανονικά Ελληνικά.
Όλες οι σελίδες που βλέπω είναι UTF 8.
To Collation στη βάση είναι utf8_unicode_ci.
Στο αρχείο php σύνδεσης έχω βάλει τη γραμμή Shopdb::query('SET NAMES utf8;');

Παρόλα αυτά εξακολουθεί να στέλνει σε ISO8859-1 Και τα βλέπω ως &#206;&#353;&#206;·&#207;€&#206;&#191;&#206;&#184;&#206;­&#206;±&#207;&#8222;&#207;&#129;&#206;&#191; &#206;&#353;&#206;±&#206;&#182;&#206;±&#206;½&#207;&#8222;&#206;&#182;&#206;¬&#206;&#186;&#206;· = Κηποθέατρο Καζαντάκης.
Βέβαια αν τα αλλάξω από το PhpMyadmin στη σελίδα τα βλέπω με ????????
Το ίδιο πρόβλημα είναι βέβαια και στην εκτύπωση με PDF engine. Εδώ πιστεύω ότι αν στη βάση το εισαγάγουμε σωστά μάλλον και το PDF θα βγει σωστά.

Καμμιά ιδέα για το που πρέπει να ψάξω και τι να πειράξω;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από korgr » 27 Σεπ 2009 16:23

Δοκιμασε μετα το
Shopdb::query('SET NAMES utf8;');
να προσθέσεις τα:

Κώδικας: Επιλογή όλων

Shopdb&#58;&#58;query&#40;"SET COLLATION_CONNECTION=utf8_general_ci"&#41;;
Shopdb&#58;&#58;query&#40;"SET CHARACTER_SET_CLIENT=utf8"&#41;;
Shopdb&#58;&#58;query&#40;"SET CHARACTER_SET_RESULTS=utf8"&#41;;
Αν παλι εχεις προβλημα, το αρχειο που παρουσιαζει τα δεδομενα σου ειναι σωσμενο σε ANSI (ασχετα αν στα meta εχεις encoding utf-8 )

chrismfz
Δημοσιεύσεις: 14
Εγγραφή: 27 Νοέμ 2004 19:00

Απο latin1 σε greek. Πώς;

Δημοσίευση από chrismfz » 28 Σεπ 2009 13:55

Intefix έγραψε:Παιδιά καλημέρα...το ίδιο πρόβλημα έχω και γω....
Κατέβασα μια έφαρμογή σε web με PHP και MySQL. Είναι για κράτηση εισητηρίων κλπ.
Έχει 4 Interfaces. Του διαχειριστή, του πωλητή, του επισκέπτη και του συλλέκτη.
Την έστησα σε ένα site για να τη δοκιμάσω.
Στον ίδιο σερβερ έχω και 5-6 CMS που δουλεύουν μια χαρά τα Ελληνικά σε όλα τα επίπεδα.
Άρα θέμα σερβερ δεν τιθεται.
Στη μεριά του πελάτη γράφω και βλέπω κανονικά Ελληνικά.
Όλες οι σελίδες που βλέπω είναι UTF 8.
To Collation στη βάση είναι utf8_unicode_ci.
Στο αρχείο php σύνδεσης έχω βάλει τη γραμμή Shopdb::query('SET NAMES utf8;');

Παρόλα αυτά εξακολουθεί να στέλνει σε ISO8859-1 Και τα βλέπω ως &#206;&#353;&#206;·&#207;€&#206;&#191;&#206;&#184;&#206;­&#206;±&#207;&#8222;&#207;&#65533;&#206;&#191; &#206;&#353;&#206;±&#206;&#182;&#206;±&#206;½&#207;&#8222;&#206;&#182;&#206;¬&#206;&#186;&#206;· = Κηποθέατρο Καζαντάκης.
Βέβαια αν τα αλλάξω από το PhpMyadmin στη σελίδα τα βλέπω με ????????
Το ίδιο πρόβλημα είναι βέβαια και στην εκτύπωση με PDF engine. Εδώ πιστεύω ότι αν στη βάση το εισαγάγουμε σωστά μάλλον και το PDF θα βγει σωστά.

Καμμιά ιδέα για το που πρέπει να ψάξω και τι να πειράξω;
Αν δεν βλέπεις Ελληνικά στο dump είναι επειδή η MySQL χρησιμοποιεί
σαν προεπιλογή κωδικοποιηση UTF8 για το output.

Δοκίμασε αυτό:

Κώδικας: Επιλογή όλων

mysqldump --default-character-set=latin1 --opt -p database > output.sql
Οπου latin1 δοκίμασε και άλλα charsets που μπορεί να είναι κωδικοποιημένη η βάση.

Αφού το κάνεις αυτό το output θα φαίνεται ελληνικα. Απο εκεί και πέρα τα υπολοιπα είναι γνωστα
:D
Τελευταία επεξεργασία από το μέλος chrismfz την 29 Σεπ 2009 21:01, έχει επεξεργασθεί 1 φορά συνολικά.

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από Intefix » 29 Σεπ 2009 08:21

Έκανα όλα τα παραπάνω αλλά τίποτα...εκτος από

Κώδικας: Επιλογή όλων

mysqldump --default-character-set=latin1 --opt -p myipgr_clients > output.sql
που δεν κατάλαβα που να το γράψω...
Άλλαξα από UTF-8 Unicode σε utf8_general_ci καμμία αλλαγή.
Έψαξα όλα τα αρχεία βρήκα καμμια 15αριά με ISO-8859-1.
Τα άλλαξα όλα σε UTF-8 αλλά τίποτα...
Τώρα για να βρείς άκρη από που πάει σε που πρέπει να σου βγει η ψυχή...ψάχνοντας και άκρη δεν θα βρεις...
Επίσης τα PDF που βγάζει είναι ANSI...
Καμμια άλλη ιδέα;

Άβαταρ μέλους
korgr
Honorary Member
Δημοσιεύσεις: 5067
Εγγραφή: 07 Οκτ 2008 18:30
Τοποθεσία: Corinth
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από korgr » 29 Σεπ 2009 12:45

To php αρχειο σου πρεπει να ειναι σωσμενο ANSI (ασχετα επαναλαμβανω αν του οριζεις στον html κωδικα αλλο charset).
Μηπως μπορεις να ανεβασεις το php αρχειο? (να το "κατεβασουμε", οχι να παραθεσεις τον κωδικα του)

chrismfz
Δημοσιεύσεις: 14
Εγγραφή: 27 Νοέμ 2004 19:00

Απο latin1 σε greek. Πώς;

Δημοσίευση από chrismfz » 29 Σεπ 2009 21:06

Intefix έγραψε:Έκανα όλα τα παραπάνω αλλά τίποτα...εκτος από

Κώδικας: Επιλογή όλων

mysqldump --default-character-set=latin1 --opt -p &#91;b&#93;database&#91;/b&#93; > output.sql
που δεν κατάλαβα που να το γράψω...
Άλλαξα από UTF-8 Unicode σε utf8_general_ci καμμία αλλαγή.
Έψαξα όλα τα αρχεία βρήκα καμμια 15αριά με ISO-8859-1.
Τα άλλαξα όλα σε UTF-8 αλλά τίποτα...
Τώρα για να βρείς άκρη από που πάει σε που πρέπει να σου βγει η ψυχή...ψάχνοντας και άκρη δεν θα βρεις...
Επίσης τα PDF που βγάζει είναι ANSI...
Καμμια άλλη ιδέα;

Ξέχασα και ακόμα και στο post άφησα τη δική μου βάση... Τόσο κομμάτια ήμουν
προσπαθόντας να βρω άκρη...

Αυτό το γράφεις σε command line. (Εχεις πρόσβαση σε shell?)

Αν όχι δεν το έψαξα για να δω αν γίνετε μέσα απο το phpMyAdmin...

Επίσης που λες οτι άλλαξες το utf general κ.ο.κ
δεν θα δεις κάποια αλλαγη γιατί αυτο είναι για το πως
θα το αποθηκευεί, το θέμα είναι πώς εστάλλη όμως
και δεν θα αλλάξει μαγικά αλλάζοντας collation ή charset...

Intefix
Δημοσιεύσεις: 186
Εγγραφή: 22 Σεπ 2007 16:21
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

Απο latin1 σε greek. Πώς;

Δημοσίευση από Intefix » 30 Σεπ 2009 09:01

korgr έγραψε:To php αρχειο σου πρεπει να ειναι σωσμενο ANSI (ασχετα επαναλαμβανω αν του οριζεις στον html κωδικα αλλο charset).
Μηπως μπορεις να ανεβασεις το php αρχειο? (να το "κατεβασουμε", οχι να παραθεσεις τον κωδικα του)
Πράγματι όλα τα αρχεία PHP είναι ANSI. Είναι τσαπατσούλης αυτός που τό φτιαξε...το αρχείο που έστησα είναι www.ticket.net.gr/ticket.zip...στήστε το σε ενα xampp και δείτε αν μπορείτε να βοηθήσετε καθόλου...Αυτό εδώ είναι απείραχτο...
Επίσης με το Dreamweaver μπορεί να ψάξει μέσα σε ένα φάκελο όλα τα αρχεία για μια φράση...

Απάντηση

Επιστροφή στο “MySQL”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 1 επισκέπτης