δεν βγάζω άκρη με το encoding UTF-8 !!

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

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

Απάντηση
Άβαταρ μέλους
electrofunny
Δημοσιεύσεις: 116
Εγγραφή: 27 Ιαν 2009 23:28

δεν βγάζω άκρη με το encoding UTF-8 !!

Δημοσίευση από electrofunny » 08 Ιούλ 2011 22:26

Έχω ένα μικρό script σε php , βάζω το charset=UTF-8 αλλά δεν μου βγάζει σωστά τα γερμανικά .. μου εμφανίζει αυτό
A � � B C F όταν υπάρχουν τα Ü Ä Ö

..



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

$list = "VERSCHLÜSSELUNG";

$alpha = "AÄBCDEFGHIJKLMNOÖPQRSTUÜVWXYZ ";
$len_alpha = strlen($alpha);
if(isset($_GET["n"])) $n=$_GET["n"];
if(isset($_GET["letters"])) $letters=$_GET["letters"];
if(!isset($letters)) $letters="";
if(isset($PHP_SELF)) $self=$PHP_SELF;
else $self=$_SERVER["PHP_SELF"];

$links="";

if (!$done)
{

  for &#40;$c=0; $c<$len_alpha; $c++&#41;
  &#123;
    if &#40;strstr&#40;$letters, $alpha&#91;$c&#93;&#41;&#41;
    &#123;
      if &#40;strstr&#40;$words&#91;$n&#93;, $alpha&#91;$c&#93;&#41;&#41; &#123;$links .= "\n<B>$alpha&#91;$c&#93;</B> "; &#125;
      else &#123; $links .= "\n<FONT color=\"red\">$alpha&#91;$c&#93; </font>"; $wrong++; &#125;
    &#125;
    else
    &#123; $links .= "\n<A HREF=\"$self?letters=$alpha&#91;$c&#93;$letters&n=$n\">$alpha&#91;$c&#93;</A> "; &#125;
  &#125;
  $nwrong=$wrong; if &#40;$nwrong>6&#41; $nwrong=6;
    else
  &#123;
     echo "<H1><font size=5>\n$word_line</font></H1>\n";
    echo "<P><BR>Please choose a letter&#58; <BR><BR>\n";
    echo "<font size=3>$links\n</font>";
  &#125;
&#125;
else

?>

thundergr
Δημοσιεύσεις: 49
Εγγραφή: 09 Μαρ 2009 14:39

δεν βγάζω άκρη με το encoding UTF-8 !!

Δημοσίευση από thundergr » 08 Ιούλ 2011 22:52

Μήπως χρησιμοποιηείς php functions που να υποστηρίζουν utf-8 characters (2 byte characters)? η strstr() ας πουμε δεν είμαι σίγουρος αν είναι utf-8 safe και η strlen() σίγουρα όχι. αντί για την strlen() να χρησιμοποιήσεις την mb_strlen().

Μήπως αποθηκεύεις σε βάση που δεν έχει Utf-8 encoding?

To encoding στον editor που χρησιμοποιείς είναι σωστό?

Άβαταρ μέλους
electrofunny
Δημοσιεύσεις: 116
Εγγραφή: 27 Ιαν 2009 23:28

δεν βγάζω άκρη με το encoding UTF-8 !!

Δημοσίευση από electrofunny » 08 Ιούλ 2011 23:16

thundergr έγραψε:Μήπως χρησιμοποιηείς php functions που να υποστηρίζουν utf-8 characters (2 byte characters)? η strstr() ας πουμε δεν είμαι σίγουρος αν είναι utf-8 safe και η strlen() σίγουρα όχι. αντί για την strlen() να χρησιμοποιήσεις την mb_strlen().
την strlen() την δοκίμασα και με mb_strlen()

Μήπως αποθηκεύεις σε βάση που δεν έχει Utf-8 encoding?
δεν χρησιμοποιώ βάση αλλά σίγουρα δεν υπάρχει πρόβλημα εκεί
To encoding στον editor που χρησιμοποιείς είναι σωστό?
το κάνω πάντα save as utf-8


τι άλλο μπορεί να φταίει[/quote]

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

δεν βγάζω άκρη με το encoding UTF-8 !!

Δημοσίευση από fafos » 08 Ιούλ 2011 23:39

prin to mb_strlen vazeis auto:

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

mb_internal_encoding&#40;"UTF-8"&#41;;
to mb douleuei me php 5 kai pano..
Οι πάνες και οι πολιτικοί πρέπει να αλλάζονται συχνά για τον ίδιο λόγο...

Άβαταρ μέλους
electrofunny
Δημοσιεύσεις: 116
Εγγραφή: 27 Ιαν 2009 23:28

δεν βγάζω άκρη με το encoding UTF-8 !!

Δημοσίευση από electrofunny » 09 Ιούλ 2011 00:00

και αυτό το έκανα . .αλλά δυστυχώς πάλι τίποτα

gvre
Δημοσιεύσεις: 992
Εγγραφή: 14 Οκτ 2010 11:34
Τοποθεσία: Ηράκλειο Κρήτης
Επικοινωνία:

δεν βγάζω άκρη με το encoding UTF-8 !!

Δημοσίευση από gvre » 10 Ιούλ 2011 17:55

Βάλε
αντί strlen -> mb_strlen($alpha, "UTF-8");
αντί $alpha[$c] -> mb_substr($alpha, $c, 1, "UTF-8");
αντί strstr -> mb_strpos
και λογικά θα δουλέψει. Αν δε δουλέψει κάνε attach ολόκληρο το αρχείο.


Απάντηση

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

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

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