Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP] cyrylica na stronie
jakkolwiek
post
Post #1





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Witam,
mam problem z wyświetlaniem cyrylicy na stronie. W bazie MySQL mam ustawione strony kodowania i porównywania tekstów na kolejno UTF-8 i utf8_general_ci. Pola w tabeli, w której przetrzymywane są dane zapisane cyrylicą - ustawione jest na utf8_general_ci. Strona ze skryptem, który wprowadza te dane do tabel - ma ustawione kodowanie na utf-8. Strona, na której powinien być wyświetlony tekst w cyrylicy - kodowanie ustawione na utf-8. Mimo tego wszystkiego, na stronie widzę same znaki zapytania. Nie wiem już co zrobić, bardzo proszę o jakieś naprawadzenie na rozwiązanie albo radę...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
jakkolwiek
post
Post #2





Grupa: Zarejestrowani
Postów: 25
Pomógł: 0
Dołączył: 17.07.2008
Skąd: Wrocław

Ostrzeżenie: (0%)
-----


Spróbowałem tego co obaj piszecie, najpierw kolejno później i jedną i drugą metodę i efekt jest taki sam jak poprzednio - same znaki zapytania.

Fragment kodu skryptu, który uploaduje do bazy
  1. $c = mysql_connect('localhost', 'root', '');
  2. $s = mysql_select_db('nhm');
  3. $n = mysql_query("SET NAMES 'utf8'");
  4. mysql_query('SET character_set_connection=utf8');
  5. mysql_query('SET character_set_client=utf8');
  6. mysql_query('SET character_set_results=utf8');
  7. $uchwyt = fopen($_GET['np'].".csv", 'r');
  8. if($delete = mysql_query("DROP TABLE t_nhm_new;") &&
  9. mysql_query("CREATE TABLE t_nhm_new (
  10. nhm VARCHAR( 8 ) NOT NULL ,
  11. definition TEXT NOT NULL ,
  12. language INT( 2 ) NOT NULL ,
  13. decode_definition TEXT NOT NULL
  14. ) ENGINE = MYISAM;") &&
  15. mysql_query("ALTER TABLE t_nhm_new CHANGE definition definition TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL ,
  16. CHANGE decode_definition decode_definition TEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL;")) {
  17. echo("<b>DELETE<font color='green'> ok</font><br></b>");
  18. } else {
  19. }
  20.  
  21. while(($data = fgetcsv($uchwyt, 0, " ")) !== false) {
  22. list($kod, $pl, $de, $en, $ru) = $data;
  23.  
  24. $s = $kod;
  25. for($i = 0; $i < 1; $i++) {
  26. $x = preg_replace('/(00)+$/', '', $s);
  27. if(mysql_query("INSERT INTO t_nhm_new(nhm, definition, language, decode_definition) VALUES('".$x."', '".$pl."', '".$plCode."', '".replacePL($pl)."')")
  28. && mysql_query("INSERT INTO t_nhm_new(nhm, definition, language, decode_definition) VALUES('".$x."', '".htmlspecialchars($ru, ENT_QUOTES)."', '".$ruCode."', '".$ru."')")
  29. && mysql_query("INSERT INTO t_nhm_new(nhm, definition, language, decode_definition) VALUES('".$x."', '".$de."', '".$deCode."', '".replaceDE($de)."')")
  30. && mysql_query("INSERT INTO t_nhm_new(nhm, definition, language, decode_definition) VALUES('".$x."', '".wytnij($en)."', '".$enCode."', '".$en."')")) {
  31. } else {
  32. die("<font color='red'>".mysql_error()."</font><br>");
  33. }
  34. }
  35. }



Fragment, który odpowiada za wyświetlenie wyniku:
  1. function ShowNHMs($value, $count) {
  2. echo '<table width="650" align="center" border="0">';
  3. echo '<th width="100" align="center" class="TableHead">Kod NHM</th>'.
  4. '<th width="550" align="center" class="TableHead">Opis</th>'.
  5. '</table>';
  6. echo '<table width="650" align="center" border="0">';
  7. $j = 1;
  8.  
  9. while ($row = mysql_fetch_array($value)) {
  10. $NHMnr = $row[0];
  11. switch(strlen(trim($row[0]))) {
  12. case 2 : $klasaNHM = 'header';
  13. $klasaDef = $klasaNHM;
  14. $poloz = 'left';
  15. break;
  16. case 4 : $klasaNHM = 'tekst12';
  17. $klasaDef = $klasaNHM;
  18. $poloz = 'left';
  19. break;
  20. case 6 : $klasaNHM = 'NHMtekstBold';
  21. $klasaDef = 'tekst11bold';
  22. $poloz = 'center';
  23. $NHMnr = $NHMnr.'&nbsp;';
  24. break;
  25. default: $klasaNHM = 'NHMtekst';
  26. $klasaDef = 'tekstsmall';
  27. $poloz = 'center';
  28. break;
  29. }
  30. if (($j % 2) == 0)
  31. $color = "";
  32. else
  33. $color = ' bgcolor="#D8E6F0"';
  34. echo '<tr>';
  35. echo '<td width="100" align="'.$poloz.'" class="'.$klasaNHM.'"'.$color.'>'.$NHMnr.'</td>'.
  36. '<td width="550" align="left" class="'.$klasaDef.'"'.$color.'>'.$row[1].'</td>';
  37. echo '</tr>';
  38. $j++;
  39. }
  40. echo '</table>';
  41. }


Wszystkie pliki są ustawione na utf8, łącznie z CSV.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 31.12.2025 - 03:33