Πρόβλημα με ελληνικά

Κώδικας, πληροφορίες, ερωτήσεις και απαντήσεις σχετικές με την JavaScript.

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

Απάντηση
diegito
Δημοσιεύσεις: 185
Εγγραφή: 18 Ιουν 2007 22:55
Τοποθεσία: Heraklio

Πρόβλημα με ελληνικά

Δημοσίευση από diegito » 16 Απρ 2009 10:23

Για σας. Προσπαθώ να χρησιμοποιήσω τον κώδικα που δίνει το site αυτό, για να κάνω ελεγχο της ορθότητας των στοιχείων μίας φόρμας και του captcha. Όταν τα μηνύματα λάθους είναι με αγγλικους χαρακτήρες όλα καλά και σε firefox και σε explorer. Όταν όμως στα μηνύματα λάθους βάλω ελληνικούς χαρακτήρες, τότε στον firefox μου βγάζει ερωτιματικά, ενώ στον explorer δεν πετάει κάποιο μήνυμα λάθους παρόλο που θα έπρεπε. Μήπως μπορεί να με βοηθήσει κάποιος με αυτό? Σας ευχαριστώ εκ των προτέρων.
A.P

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

Πρόβλημα με ελληνικά

Δημοσίευση από korgr » 16 Απρ 2009 10:44

Δοκίμασες να δηλώσεις charset utf-8 στην html του παραδείγματος? Απ' οτι ειδα δεν υπαρχει καμια δηλωση κωδικοσελιδας...

diegito
Δημοσιεύσεις: 185
Εγγραφή: 18 Ιουν 2007 22:55
Τοποθεσία: Heraklio

Πρόβλημα με ελληνικά

Δημοσίευση από diegito » 16 Απρ 2009 10:54

Το scipt το χρησιμοποιώ στην δική μου σελίδα στην οποία έχω βάλει την δήλωση αυτή
A.P

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

Πρόβλημα με ελληνικά

Δημοσίευση από korgr » 16 Απρ 2009 11:20

Δεν αρκει να προσθεσεις το tag
Θα πρεπει να σωθει και το html αρχειο σου, αλλα και τα υπόλοιπα αρχεία που καλούνται μέσω ajax, σε utf-8 (without BOM)

Καλό θα ήταν να τα περάσεις από ένα έλεγχο χρησιμοποιώντας έναν text editor που να υποστηρίζει [save σε utf-8 without BOM], όπως το Notepad2

diegito
Δημοσιεύσεις: 185
Εγγραφή: 18 Ιουν 2007 22:55
Τοποθεσία: Heraklio

Πρόβλημα με ελληνικά

Δημοσίευση από diegito » 16 Απρ 2009 11:35

Τίποτα δεν δούλεψε δυστυχώς
A.P

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

Πρόβλημα με ελληνικά

Δημοσίευση από korgr » 16 Απρ 2009 12:01

Δεν μας κανεις και ενα paste τα περιεχομενα του html σου μηπως σου διαφευγει κατι?

diegito
Δημοσιεύσεις: 185
Εγγραφή: 18 Ιουν 2007 22:55
Τοποθεσία: Heraklio

Πρόβλημα με ελληνικά

Δημοσίευση από diegito » 16 Απρ 2009 12:17

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

========== arxeio html=====================

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
	<title></title>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
	
	<link href="required-fields-star2.css" rel="stylesheet" type="text/css">
	<link href="style_new.css" rel="stylesheet" type="text/css">
	
	<link rel="stylesheet" type="text/css" media="all" href="calendar/calendar-win2k-cold-1.css" title="win2k-cold-1" />
	<script type="text/javascript" src="calendar/calendar.js"></script>
	<script type="text/javascript" src="calendar/lang/calendar-el.js"></script>
	<script type="text/javascript" src="calendar/calendar-setup.js"></script>
	<script type="text/javascript" src="resFormValidate.js"></script>

....
....
....
<form action="" method="post" name="resForm">
																			<table width=50%  border="0" cellpadding="0" cellspacing="2" style="TEXT-ALIGN&#58; left;" align="center">
     																			<tr>
     																				<td width="40%" valign="middle">Όνομα&#58;</td>
       																				<td align="left" valign="middle" >
       																					<input name="firstName" type="text" id="firstName" value="" style="width&#58;200px;">&nbsp;<img src="images/required_star.gif" alt="required" />
       																					
   																					</td>
     																			</tr>
<tr>
																					<td colspan="2" align="center" style="padding-top&#58;6px;">
       																					<img src="captcha.php">
       																					<br />
       																					Πληκτρολογήστε τους χαρακτήρες που βλέπετε στην παραπάνω φωτογραφία
       																					<br />
       																					<input name="captchaCode" type="text" id="captchaCode" value="" style="width&#58;200px;">&nbsp;<img src="images/required_star.gif" alt="required" />
       																					
   																					</td>
   																				</tr>

  <tr>
    <td align="center" valign="middle" colspan="2"  style="padding-top&#58;10px;"><input type="submit" name="Submit" value="Αποστολή" class="btn" onclick="return checkform&#40;&#41;">&nbsp;<input name="clear" type="reset" id="clear2" value="Καθαρισμός" class="btn"></td>
  </tr>
</table>
</form>

==================== αρχείο resFormValidate.js ==================
        var url = 'captcheck.php?captchaCode=';
        var captchaOK = 2;  // 2 - not yet checked, 1 - correct, 0 - failed
        
        function getHTTPObject&#40;&#41;
        &#123;
        try &#123;
        req = new XMLHttpRequest&#40;&#41;;
          &#125; catch &#40;err1&#41;
          &#123;
          try &#123;
          req = new ActiveXObject&#40;"Msxml2.XMLHTTP"&#41;;
          &#125; catch &#40;err2&#41;
          &#123;
          try &#123;
            req = new ActiveXObject&#40;"Microsoft.XMLHTTP"&#41;;
            &#125; catch &#40;err3&#41;
            &#123;
	req = false;
            &#125;
          &#125;
	&#125;
        return req;
	&#125;
        
        var http = getHTTPObject&#40;&#41;; // We create the HTTP Object        
        
        function handleHttpResponse&#40;&#41; &#123;
        if &#40;http.readyState == 4&#41; &#123;
            captchaOK = http.responseText;
            if&#40;captchaOK != 1&#41; &#123;
              alert&#40;'The entered code was not correct. Please try again'&#41;;
              document.resForm.captchaCode.value='';
              document.resForm.captchaCode.focus&#40;&#41;;
              return false;
              &#125;
              document.resForm.submit&#40;&#41;;
           &#125;
        &#125;

        function checkcode&#40;thecode&#41; &#123;
        http.open&#40;"GET", url + escape&#40;thecode&#41;, true&#41;;
        http.onreadystatechange = handleHttpResponse;
        http.send&#40;null&#41;;
        &#125;
        
        function checkform&#40;&#41; &#123;
        // First the normal form validation
        if&#40;document.resForm.firstName.value==''&#41; &#123;
          alert&#40;'Παρακαλώ'&#41;;
          document.resForm.firstName.focus&#40;&#41;;
          return false;
        &#125;
        
        if&#40;document.resForm.lastName.value==''&#41; &#123;
          alert&#40;'lala'&#41;;
          document.resForm.lastName.focus&#40;&#41;;
          return false;
        &#125;
          
        if&#40;document.resForm.captchaCode.value==''&#41; &#123;
          alert&#40;'Please enter the string from the displayed image'&#41;;
          document.resForm.captchaCode.value='';
          document.resForm.captchaCode.focus&#40;&#41;;
          return false;
          &#125;
          // Now the Ajax CAPTCHA validation
          checkcode&#40;document.resForm.captchaCode.value&#41;;
          return false;
        &#125;     

=========================================================
Μια χαρά κάνει τον έλεγχο για την εγκυρότητα του captcha. Το μόνο πρόβλημα ότι δεν μπορώ να εκτυπώσω στο alert μηνύματα με ελληνικούς χαρακτήρες[/google]
Τελευταία επεξεργασία από το μέλος diegito την 05 Μάιος 2009 08:41, έχει επεξεργασθεί 1 φορά συνολικά.
A.P

diegito
Δημοσιεύσεις: 185
Εγγραφή: 18 Ιουν 2007 22:55
Τοποθεσία: Heraklio

Πρόβλημα με ελληνικά

Δημοσίευση από diegito » 16 Απρ 2009 13:44

Αν αλλάξω την κωδικοποίηση σε firefox και σε explorer μου βγάζει κανονικά το ελληνικό μηνυμα στο alert, αλλα η υπολοιπη σελίδα έχει παράξενους χαρακτήρες. Αν μπορεί να βοηθήσει αυτό σε κάτι.
A.P

Άβαταρ μέλους
ThyClub
Honorary Member
Δημοσιεύσεις: 5312
Εγγραφή: 17 Νοέμ 2003 00:21
Τοποθεσία: Hell's Kitchen
Επικοινωνία:

Πρόβλημα με ελληνικά

Δημοσίευση από ThyClub » 16 Απρ 2009 14:04

korgr έγραψε:Δεν αρκει να προσθεσεις το tag
Θα πρεπει να σωθει και το html αρχειο σου, αλλα και τα υπόλοιπα αρχεία που καλούνται μέσω ajax, σε utf-8 (without BOM)

Καλό θα ήταν να τα περάσεις από ένα έλεγχο χρησιμοποιώντας έναν text editor που να υποστηρίζει [save σε utf-8 without BOM], όπως το Notepad2
Σε όσα αρχεία έχουν Ελληνικά αυτό να κάνεις και είσαι έτοιμος

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

Πρόβλημα με ελληνικά

Δημοσίευση από korgr » 16 Απρ 2009 18:15

Αν εχεις κανει οσα ειπαμε για το html σου, τοτε η μονη εξηγηση ειναι πως δεν ειναι utf-8 το js αρχειο σου (εκει που βρισκονται τα ελληνικα alerts)

diegito
Δημοσιεύσεις: 185
Εγγραφή: 18 Ιουν 2007 22:55
Τοποθεσία: Heraklio

Πρόβλημα με ελληνικά

Δημοσίευση από diegito » 16 Απρ 2009 23:01

Το πρόβλημα διορθώθηκε. Κατάργησα το .js arχείο και τα έβαλα στο html. Πάντως δεν μπορώ να το εξηγήσω. Το js ήταν σε utf, αφού το έσωσα και το ξαναέσωσα σαν utf. Ευχαριστώ για την βοήθεια
A.P

IoannisPal
Δημοσιεύσεις: 1
Εγγραφή: 10 Ιαν 2010 21:40
Τοποθεσία: Αθήνα

Πρόβλημα με ελληνικά

Δημοσίευση από IoannisPal » 10 Ιαν 2010 23:08

Η λύση με το wordpad2 είναι σωστή.Ωστόσο αν δεν δουλέψει με charset=utf-8 δοκιμάστε το charset="windows-1253".

Φιλικά
Ι.Π.

Απάντηση

Επιστροφή στο “JavaScript και Frameworks”

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

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