ελληνικά σε βάση Mysql

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

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

Απάντηση
eagleman
Δημοσιεύσεις: 30
Εγγραφή: 14 Δεκ 2005 19:32

ελληνικά σε βάση Mysql

Δημοσίευση από eagleman » 28 Φεβ 2008 16:53

Καλησπέρα σας,

αντιμετωπίζω το εξής πρόβλημα: προσπαθώ να καταχωρήσω δεδομένα από μία φόρμα html-php σε μία βάση δεδομένων mysql. Όταν κάνω την καταχώρηση τα δεδομένα μου στην φόρμα στα ελληνικά φαίνονται "φσδφ" ή "??????". ενώ τα αγγλικά εγγράφονται κανονικά. Έχει να μου προτείνει κάποιος να δοκιμάσω κάτι για να γράφονται ελληνικά στην Βάση μου??

Χρησιμοποιώ το Xampp 1.6.6a
Apache HTTPD 2.2.8 + Openssl 0.9.8g
MySQL 5.0.51a
PHP 5.2.5
PHP 4.4.8
phpMyAdmin 2.11.4
FileZilla FTP Server 0.9.25
Mercury Mail Transport System 4.52
το αρχείο html μου είναι (onoma.html):

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

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />

<title>New Page 1</title>
</head>
<body>
<h1> onoma </h1>
<form action=onoma.php method="POST">
όνομα&#58; <input name= "name" type="text">
</form> 
</body>
</html>
το αρχείο php μου είναι (onoma.php):

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

<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>New Page 1</title>
</head>
<body>
<h1> onoma </h1>
<?php 
include&#40;"config1.php"&#41;;

$con= mysql_connect&#40;$dbServer,$dbUser,$dbPass&#41;
or exit&#40;"Cannot connect to database"&#41;;

$sql="INSERT INTO name VALUES&#40;'".$_POST&#91;"name"&#93;."'&#41;";

$res=mysql_db_query&#40;$dbDatabase, $sql&#41;;

echo $_POST&#91;"name"&#93;; 
?>

</form> 
</body>
</html>
και το αρχείο config1.php είναι:

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

<?php
$dbServer="localhost";
$dbDatabase="onoma1";
$dbUser="root";
$dbpass="";
$DOCROOT = $_SERVER &#91;'HTTP_HOST'&#93;."/onoma1";
?>
η βάση μου είναι mysql και έχει φτιαχτεί με το phpmyadmin. το όνομα της είναι onoma1 και έχει collation utf8_unicode_ci το ίδιο και ο μοναδικός πίνακας της, name. ο πίνακας έχει ένα πεδίο name με τύπο text.

Σας ευχαριστώ
(όσο και να διάβασα παλαιότερα θέματα του forum δεν μπόρεσα να καταλάβω, γιαυτό και δημιουργώ νέο θέμα.)

Άβαταρ μέλους
Banavas
Script Master
Δημοσιεύσεις: 1367
Εγγραφή: 21 Νοέμ 2004 20:25
Επικοινωνία:

ελληνικά σε βάση Mysql

Δημοσίευση από Banavas » 28 Φεβ 2008 20:12

Μετά από αυτό

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

$con= mysql_connect&#40;$dbServer,$dbUser,$dbPass&#41; 
βάλε αυτό

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

mysql_query&#40;"SET NAMES 'utf8'", $con&#41;;
Happy coding....
Μάρκος
http://lasernet.gr

eagleman
Δημοσιεύσεις: 30
Εγγραφή: 14 Δεκ 2005 19:32

ελληνικά σε βάση Mysql

Δημοσίευση από eagleman » 29 Φεβ 2008 01:03

Τόσο απλό! και παιδευόμουν με τα collation στη βάση να βγάλω άκρη!

Σε ευχαριστώ πολύ Banavas.

irinikos
Δημοσιεύσεις: 20
Εγγραφή: 08 Μαρ 2008 20:38

ελληνικά σε βάση Mysql

Δημοσίευση από irinikos » 08 Μαρ 2008 20:42

Γεια σας,
Έχω κι εγώ πρόβλημα με τα ελληνικά και τη mysql. Ελπίζω να μπορέσετε να με βοηθήσετε σ'αυτό το πρόβλημα που με βασανίζει πολλές μέρες.
Δημιουργώ σελίδες με το dreamweaver, δεν ξέρω από γλώσσες, κώδικες κλπ.
Στη βάση δεδομένων, στους πίνακες όλα είναι εντάξει με αγγλικά, αλλά οι ελληνικοί χαρακτήρες εμφανίζονται ???.
Δοκίμασα ό,τι βρήκα σε φόρουμ από συμβουλές σε άλλους, άλλαξα το default character set σε greek και μετά σε utf8, αλλά τίποτα.Άλλαξα και στο dreamweaver στο encoding σε utf8, αλλά πάλι δεν πέτυχε.
Δημιουργώ τους πίνακες (και τη βάση) με εντολές στο mysql query browser.
Οι εκδόσεις που χρησιμοποιώ είναι:
Apache 2.2
Mysql 5.0
Php 5
Dreamweaver CS3
Σας ευχαριστώ εκ των προτέρων.

nikos-manias
Δημοσιεύσεις: 38
Εγγραφή: 15 Ιαν 2010 10:13

ελληνικά σε βάση Mysql

Δημοσίευση από nikos-manias » 15 Ιαν 2010 10:16

Φίλε Banavas σε ευχαριστώ πάρα πάρα πολύ....!!!
Μου έφαγε μια ολόκληρη μέρα ψάξιμο αυτό το πρόβλημα..
Να'σαι καλά!

mazoulini
Δημοσιεύσεις: 144
Εγγραφή: 22 Φεβ 2008 23:40
Τοποθεσία: Crete
Επικοινωνία:

ελληνικά σε βάση Mysql

Δημοσίευση από mazoulini » 01 Ιούλ 2010 01:28

Εγώ και που το έβαλα....Δεν έκανε κάτι...
Γιατί;; Help please!

heav3n
Δημοσιεύσεις: 93
Εγγραφή: 06 Νοέμ 2007 02:34

ελληνικά σε βάση Mysql

Δημοσίευση από heav3n » 01 Ιούλ 2010 03:12

Γενικά τα βήματα που πρέπει να κάνετε είναι:

1) Οι σελίδες με encoding UTF-8

αν χρησιμοποιείτε editors (notepad++ ή και στο dreamweaver) στις επιλογές μπορείτε να επιλέξετε encoding UTF-8 (without BOM) και αν έχετε ήδη έτοιμο το αρχείο ξαναγράψτε τα ελληνικά (echo.. κλπ) γιατι θα τα έχει μετατρέψει σε κινέζικα :roll:

2) την sql να την έχετε σε utf-8 ή αλλιώς αν κάνετε Import αρχείο .sql στην αρχή να μπούν οι εντολές (η 2η εντολή..)

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

drop database if exists dbtest;
create database dbtest CHARACTER  SET utf8 COLLATE utf8_bin;
use dbtest;
3) και τέλος για να φαίνονται και τα δεδομένα ελληνικά στο phpmyadmin στο php αρχείο αφού κάνετε connect με την βάση να βάλετε τις παρακάτω 2 γραμμές

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

$conn=db_connect&#40;&#41;;
	$conn->query&#40;"SET CHARACTER SET utf8"&#41;;
	$conn->query&#40;"SET COLLATION_CONNECTION=utf8_bin"&#41;; 

P.S. εκει που έχω bin μπορείτε να βάλετε και unicode η διαφορά είναι αν θα είναι case sensitive.

mazoulini
Δημοσιεύσεις: 144
Εγγραφή: 22 Φεβ 2008 23:40
Τοποθεσία: Crete
Επικοινωνία:

ελληνικά σε βάση Mysql

Δημοσίευση από mazoulini » 01 Ιούλ 2010 16:12

θα το κάνω το βραδάκι, γιατί τώρα σαν καλό παιδί εργάζομαι!
Ευχαριστώ πολύ πολύ!

Άβαταρ μέλους
dervisis
Δημοσιεύσεις: 44
Εγγραφή: 25 Αύγ 2006 22:15
Τοποθεσία: *.*
Επικοινωνία:

ελληνικά σε βάση Mysql

Δημοσίευση από dervisis » 02 Ιούλ 2010 23:58

Είστε φοβεροί! mysql_query("SET NAMES 'utf8'", $con); και λύθηκαν όλα τα προβλήματα!!!

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

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

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