Παράμετροι σε url με ελληνικούς χαρακτήρες

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

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

Απάντηση
skepsis
Δημοσιεύσεις: 4
Εγγραφή: 21 Απρ 2011 20:37

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από skepsis » 21 Απρ 2011 20:42

Καλησπέρα σε όλους,

έχω γράψει ενα web service στο οποίο περνάω παραμέτρους μέσω του Url. Το πρόβλημα είναι ότι θέλω να περνάω ελληνικούς χαρακτήρες και όταν το κάνω μου μετατρέπει το url σε κάτι τέτοιο http://xxxxx.xx/test3.php?name=%27%CD%C ... 7&pass=234
και προκύπτει error.

Έχει κανείς καμία ιδέα πως να το αντιμετωπίσω;

Σας ευχαριστώ όλους για τον χρόνο σας

Άβαταρ μέλους
stevebat
Script Master
Δημοσιεύσεις: 307
Εγγραφή: 05 Αύγ 2009 15:54
Επικοινωνία:

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από stevebat » 25 Απρ 2011 16:25

πρεπει να δούμε τον κώδικα για να μπορέσουμε να βρούμε λυση

skepsis
Δημοσιεύσεις: 4
Εγγραφή: 21 Απρ 2011 20:37

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από skepsis » 28 Απρ 2011 19:51

Ο κώδικας είναι κάπως έτσι

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

<?php 
$user_id = $_GET&#91;'name'&#93;; //no default
$pass = $_GET&#91;'pass'&#93;;


mysql_connect&#40;"localhost", "xxxx", "xxxxxxxx"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 

// Connects to your Database 
mysql_select_db&#40;"database1"&#41; or die&#40;mysql_error&#40;&#41;&#41;; 
$query = "INSERT INTO test&#40;name,password&#41; VALUES&#40;'$user_id', '$pass'&#41;";
print $query;
mysql_query&#40;$query&#41;; 
//mysql_query&#40;"select * from test"&#41;; 

Print "ok"; 

kapoios001
Δημοσιεύσεις: 403
Εγγραφή: 17 Φεβ 2011 12:26

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από kapoios001 » 28 Απρ 2011 20:21

Για να περάσεις ελληνικούς χαρακτήρες από το URL χρησιμοποίησε το urlencode() όταν φτιάχνεις το query του URL και όταν θες να τα πάρεις από το URL χρησιμοποίησε το urldecode() για να τα αποδικοποιήσεις και να τα διαβάσει σωστά.

Π.χ.

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

<?php echo 'http&#58;//test.com/?'.urlencode&#40;'Ελληνική Παράμετρος'&#41;; ?>
Θα σου δώσει το: http://test.com/?%CE%95%CE%BB%CE%BB%CE% ... E%BF%CF%82

και αν βάλεις με το urldecode() θα πάρεις το "Ελληνική Παράμετρος"

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

<?php echo urldecode&#40;'http&#58;//test.com/?%CE%95%CE%BB%CE%BB%CE%B7%CE%BD%CE%B9%CE%BA%CE%AE+%CE%A0%CE%B1%CF%81%CE%AC%CE%BC%CE%B5%CF%84%CF%81%CE%BF%CF%82'&#41;; ?>

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6236
Εγγραφή: 30 Νοέμ 2004 03:09

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από fafos » 28 Απρ 2011 20:55

h steleneis POST anti gia GET me thn forma kai teleioses..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

skepsis
Δημοσιεύσεις: 4
Εγγραφή: 21 Απρ 2011 20:37

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από skepsis » 28 Απρ 2011 21:11

Βασικά τα url θα τα παράγει μια desktop εφαρμογή οπότε το urlencode δεν μπορεί να χρησιμοποιηθεί...

Άβαταρ μέλους
jpk
Δημοσιεύσεις: 441
Εγγραφή: 09 Μαρ 2011 21:17

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από jpk » 01 Μάιος 2011 10:19

Γιατί, τι έχει μια desktop εφαρμογή και δεν μπορεί να κάνει url encode; Σε τι γλώσσα είναι; Έχεις πρόσβαση σε αυτή να την αλλάξεις;

Αλλά μπορεί να έχει και ποιο απλή λύση το πρόβλημά σου, λες στο πρώτο σου μήνυμα «&#8230;και προκύπτει error» , τι error προκύπτει;

Από τον κώδικα που δίνεις (και από τον τρόπο που το καλείς και τον τρόπο που απαντά) δεν μπορώ να καταλάβω γιατί είναι web service αυτό που περιγράφεις , εκτός αν το εννοείς με την ευρύτερη έννοια του όρου &#8211; διαδικτυακή υπηρεσία&#8230; Έχεις την δυνατότητα να ασχοληθείς λίγο να το κάνεις πραγματικό web service και να προσθέσεις και μερικές ελάχιστες δικλείδες ασφαλείας;

skepsis
Δημοσιεύσεις: 4
Εγγραφή: 21 Απρ 2011 20:37

Παράμετροι σε url με ελληνικούς χαρακτήρες

Δημοσίευση από skepsis » 01 Μάιος 2011 14:56

Σας ευχαριστώ όλους για τις παρατηρήσεις σας. Το πρόβλημα ήταν να γίνονται κάποιες εγγραφές σε μια mysql τοπικά απο μία desktop εφαρμογή. Το πρόβλημα λύθηκε παράγοντας τον php κώδικα απο την εφαρμογή, ανέβασμα αυτού μέσω ftp και ύστερα εκτέλεση του url, οπότε εντέλει δεν χρειάστηκαν να γίνουν pass παράμετροι.

Και πάλι σας ευχαριστώ

Απάντηση

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

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

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