![]() |
![]() |
![]() ![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Dopiero zaczynam PHP, zacząłem od tego tutoriala: http://www.phazm.com/notes/easy-as-pie/eas...with-databases/ Wszystko ładnie chodzi, tylko, że jak dodaje coś z polskimi znakami to mi wychodzą krzaczki zamiast polskich znaków. Kod <?php $user="username"; $password="password"; $database="database"; $connection=mysql_connect('localhost',$user,$password); @mysql_select_db($database) or die( "Unable to select database"); if ($_REQUEST['quote'] != "") { if($_REQUEST['author'] != "") { $author = $_REQUEST['author']; } else { $author = "Anonymous"; } $quote = $_REQUEST['quote']; $query="INSERT INTO `quotes` (`quote`,`author`) values ('" . mysql_real_escape_string($quote) . "','" . mysql_real_escape_string($author) . "')"; $result=mysql_query($query) or die(mysql_error()); echo("inserted quote: " . htmlentities($quote) . " by " . htmlentities($author) . " into database"); } else { echo("<p>Please enter a quote and author</p>"); } ?> <form action="" method="post"> <fieldset> <legend>Add a Quote</legend> <label for="quote">Quote:</label> <input type="text" name="quote" id="quote" maxlength="255" /> <label for="author">Author:</label> <input type="text" name="author" id="author" maxlength="40" /> <input type="submit" value="Add Quote" /> </fieldset> </form> mysql_close($connection); ?> Co ciekawe, jak dodaje do bazy MySQL przez phpMyAdmin z polskimi znakami, to wszystko jest OK. -------------------- Wesołych Świąt!:)
|
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 21 Pomógł: 3 Dołączył: 25.05.2008 Ostrzeżenie: (0%) ![]() ![]() |
Jakiego kodowania używasz w bazie a jakiego na stronie?
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
W bazie jest "utf8_unicode_ci", na stronie "utf-8".
Teraz nawet jak wyświetlam na stronie wszystko co jest w bazie, to też są krzaczki zamiast polskich znaków, nawet jeśli dodam przez phpMyAdmin i w bazie, widzę, że jest normalnie z polskimi znakami, to na stronie są jednak krzaczki. Zauważyłem również, że jak po połączeniu z bazą dodam: Kod mysql_query("SET NAMES 'UTF8'"); To mi się wyświetlają inne krzaki zamiast polskich znaków... Ten post edytował SubZero. 15.08.2008, 18:33:25 -------------------- Wesołych Świąt!:)
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
koduj dane wprowadzane do bazy w base64 i dekoduj przy pobieraniu rekordów. dzięki temu pozbędziesz się problemów z polskimi znakami
-------------------- Jeśli my czegoś nie zrobimy, zrobią to za nas inni
|
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 31 Pomógł: 0 Dołączył: 15.09.2007 Skąd: getCity(); Ostrzeżenie: (0%) ![]() ![]() |
To jedyne rozwiązanie? Chciałbym mieć jednak w bazie polskie znaki a nie szyfrowane w base64...
-------------------- Wesołych Świąt!:)
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 616 Pomógł: 12 Dołączył: 16.07.2006 Skąd: : getCity ( ); Ostrzeżenie: (0%) ![]() ![]() |
ja tak zawsze robie i już nie narzekam na wszelkie problemy z polskimi znakami
-------------------- Jeśli my czegoś nie zrobimy, zrobią to za nas inni
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 439 Pomógł: 21 Dołączył: 28.06.2007 Skąd: Bielsko-Biała Ostrzeżenie: (0%) ![]() ![]() |
może iconv" title="Zobacz w manualu PHP" target="_manual Ci pomoże, php nie obsluguje poprawniw unicode
-------------------- "Na przykład zmiennej $jestem_najlepszy przypisujemy wartość logiczną TRUE"
Ja: użyj funkcji[...] Grins: mów normalnie do mnie a nie po polsku Ja: normalnie to znaczy jak? Grins: No w PHP... inaczej mój parser ledwo kuma:) |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 535 Pomógł: 27 Dołączył: 3.05.2005 Ostrzeżenie: (20%) ![]() ![]() |
|
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 201 Pomógł: 5 Dołączył: 15.07.2008 Skąd: Kłodzko Ostrzeżenie: (10%) ![]() ![]() |
Unicode będzie w PHP6
Zaczekaj:D -------------------- |
|
|
![]()
Post
#10
|
|
![]() Grupa: Zarejestrowani Postów: 561 Pomógł: 72 Dołączył: 15.11.2006 Ostrzeżenie: (0%) ![]() ![]() |
nagłówek na stronie:
zapytanie po połączeniu z bazą:
+ zmień ustawienie kodowania w bazie na utf8_general_ci i będzie dobrze, nie ma bata ![]() -------------------- Nawet świnka może wejść na drzewo kiedy jest chwalona :)
|
|
|
![]()
Post
#11
|
|
![]() Grupa: Zarejestrowani Postów: 1 657 Pomógł: 125 Dołączył: 29.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
ja tak zawsze robie i już nie narzekam na wszelkie problemy z polskimi znakami Rozwiązanie proste i sprytne, ale mało wydajne. Lepiej to zrobić "normalnie". -------------------- |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 18.07.2025 - 00:58 |