Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]kodowanie w bazie
Forum PHP.pl > Forum > Przedszkole
max_mcee
Witam mam mały problem, ponieważ przenosiłem bazę danych z innej do mojej i mam w niej zamiast polskich znaków coś takiego:
"WROC?AW"

jak można by sobie z tym poradzić ?
gigzorr
sprawdzic kodowanie w plikach , w bazie , otworzyc notepada++ i ustawic utf 8 bez bum , lub dac na poczatku pliku w , którym to masz
  1. <?php mysql_query('set names utf-8'); ?>


albo z headerem sprobowac.
max_mcee
  1. <?php
  2.  
  3. include("config.php");
  4. $query = "SELECT * FROM baza ORDER BY id DESC LIMIT 10";
  5. $result = mysql_query($query);
  6. mysql_query('set names utf-8');
  7. while($row = mysql_fetch_array($result)) {
  8. ?>
  9. <li><a href="#"><?php echo $row['name']; ?></a></li>
  10. <?php
  11. }
  12. ?>


wciąż jednak błąd występuje, czy dobrze to robię ?
toel
set names musisz mieć przed wykonaniem zapytania.
gigzorr
na samym poczatku pliku,skryptu,na samej górze.

  1. <?php
  2. mysql_query( 'SET NAMES utf8' );
  3. ?>
max_mcee
kod taki:
  1. <?php
  2. include ("config.php");
  3. mysql_query('set names utf-8');
  4. $id = $_GET['id'];
  5. $query = "SELECT * FROM baza WHERE id = '$id'";
  6. $result = mysql_query($query);
  7.  
  8. $row = mysql_fetch_array($result);
  9. ?>
  10.  


W bazie danych mam takie wpisy:


na stronie wyświetla się to tak:


więc wciąż problem hmm
gigzorr
kazalem ci zrobic na poczatku pliku skrypty , maja byc dwa odzielne php

  1. <?php to co ci dalem na samej gorze w pliku ?>
  2.  
  3. <?php twoj skrypt ?>


zrób tak a zadziala , jeszcze sprawdz czy jak zmienisz w bazie na łąśłąś coś to sie wyswietli na stronie poprawanie i jak w bazie.
toel
  1. mysql_query('set names utf-8');


wywal kreskę

  1. mysql_query('set names utf8');
max_mcee
nawet jak zrobię tak jak mówisz to nie działa...
jak zmieniłem w bazie ten ? na np. ł to też nie działa...

co to może być ?
toel
a jakie masz kodowanie strony ?
max_mcee
  1. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
toel
spróbuj iconv
gigzorr
ym , odpal plik w notepadzie++ daj utf 8 bez bum zapisz, , znow otworz plik przez notepada zobacz czy na utf 8 bez bum sie zmienilo jak tak to musi dzialac.
max_mcee
  1. <?php
  2.  
  3. include("config.php");
  4. mysql_query('set names utf-8');
  5.  
  6. ?>
  7.  
  8. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
  9. <html xmlns="http://www.w3.org/1999/xhtml">
  10. <head>
  11. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
  12. <title>Tytuł</title>
  13. <meta name="keywords" content="" />
  14. <meta name="description" content="" />
  15. <link href="default.css" rel="stylesheet" type="text/css" />
  16. </head>
  17. <body>
  18.  
  19. <?php
  20.  
  21. $id = $_GET['id'];
  22. $query = "SELECT * FROM baza WHERE id = '$id'";
  23. $result = mysql_query($query);
  24.  
  25. $row = mysql_fetch_array($result);
  26. echo $row['name'];
  27. ?>
  28.  
  29. </body>
  30. </html>


wszystkie znaki polskie się normalnie wyświetlają, ale te z bazy nie...
gigzorr
config.php jak mam rozumiec tam masz polaczenie z baza?daj jeszcze tam <?php ten kawalek kodu co ci dalem ?> <? polaczenie ?> bo moze tutaj byc problem, jak nie pomoze to próbuj i sproboj z notepadem jeszcze.
max_mcee
nie mam pojęcia...

wgrywałem bazę przez php my admin, może coś z tym jest nie tak ?
bleblok
Prawdopodobnie podczas importu ustawiłeś złe kodowanie.
Znaki w bazie już ska pokrzaczone.

Zaimportuj bazę jeszcze raz, tylko się upewnij, że masz kodowanie do importu takie samo jak kodowanie pliku.
max_mcee
Cytat(bleblok @ 11.08.2010, 17:09:51 ) *
Prawdopodobnie podczas importu ustawiłeś złe kodowanie.
Znaki w bazie już ska pokrzaczone.

Zaimportuj bazę jeszcze raz, tylko się upewnij, że masz kodowanie do importu takie samo jak kodowanie pliku.



tylko, że plik kopi bazy danych jest w latin2, a jak importuje przez phpmyadmin to takowego kodowania nie ma.
wgrywałem przez iso-8859-2 i teraz są polskie znaki, ale tylko w bazie, a na stronie nie..

czyli nikt nie ma pojęcia ?
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.