Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL]Znikające wyrazy, gdy napotka polskie znaki.
Forum PHP.pl > Forum > Przedszkole
jerry1984
Witam

Nie wiem, co źle robię ale przetestowałem prawie wszystkie możliwe sposoby, lecz moje rezultaty bardzo dziwne wychodzą mianowicie.
W tabeli PHPMyAdmin mam nazwany produkt i mały opis:

Powinno być "Duży hak", a wychodzi " Du "
Powinno być "Umożliwia swobodne huśtanie", a wychodzi "Umo "

Moje ustawienia serwera na localhost:

System porównań dla połączenia MySQL: utf8_general_ci
Kodowanie napisów dla MySQL: UTF-8 Unicode (utf8)
Metoda porównywania napisów: utf8_general_ci
Kodowanie strony: utf-8 (zapisane przy pomocy notepad, utf-8 bez bom)

Gdy tworze bazę danych za pomocą kodu w php mam również ustawione kodowanie:

  1. <?php
  2. header('Content-type: text/html; charset=utf-8');
  3. ?>
  4.  
  5. <?php
  6. $connect = mysql_connect("localhost", "root", "") or
  7. die ("Sprawdź połączenie z bazą danych.");
  8.  
  9. mysql_query('SET character_set_connection=utf8');
  10. mysql_query('SET character_set_client=utf8_general_ci');
  11. mysql_query('SET character_set_results=utf8_general_ci');
  12. mysql_query("set names utf8;");
  13.  
  14. // Utworzenie bazy danych ecommerce
  15. if (mysql_query("CREATE DATABASE ecommerce")) {
  16. echo "Utworzenie bazy danych zakończone poprawnie! <br />";
  17. } else {
  18. echo "Nie udało się utworzyć bazy danych.";
  19. }
  20.  
  21. mysql_select_db("ecommerce");
  22.  
  23.  
  24.  
  25.  
  26. //Zdefiniowanie tabeli produktów.
  27. $query = "CREATE TABLE products (
  28. products_prodnum CHAR(5) NOT NULL,
  29. products_name VARCHAR(20) NOT NULL,
  30. products_proddesc TEXT NOT NULL,
  31. products_price DEC (6,2) NOT NULL,
  32. products_dateadded DATE NOT NULL,
  33. PRIMARY KEY(products_prodnum))";
  34. $products = mysql_query($query)
  35.  
  36. //Zdefiniowanie tabeli klientów.
  37. $query2 = "CREATE TABLE customers (
  38. customers_custnum INT(6) NOT NULL AUTO_INCREMENT,
  39. customers_firstname VARCHAR (15) NOT NULL,
  40. customers_lastname VARCHAR (50) NOT NULL,
  41. customers_add1 VARCHAR (50) NOT NULL,
  42. customers_add2 VARCHAR (50),
  43. customers_city VARCHAR (50) NOT NULL,
  44. customers_state CHAR (2) NOT NULL,
  45. customers_zip CHAR (5) NOT NULL,
  46. customers_phone CHAR (12) NOT NULL,
  47. customers_fax CHAR (12),
  48. customers_email VARCHAR (50) NOT NULL,
  49. PRIMARY KEY (customers_custnum))";
  50.  
  51. $customers = mysql_query($query2)
  52.  
  53. //Zdefiniowanie tabeli zamówień.
  54. $query3 = "CREATE TABLE ordermain (
  55. ordermain_ordernum INT(6) NOT NULL AUTO_INCREMENT,
  56. ordermain_orderdate DATE NOT NULL,
  57. ordermain_custnum INT(6) NOT NULL,
  58. ordermain_subtotal DEC (7,2) NOT NULL,
  59. ordermain_shipping DEC (6,2),
  60. ordermain_tax DEC(6,2),
  61. ordermain_total DEC(7,2) NOT NULL,
  62. ordermain_shipfirst VARCHAR(15) NOT NULL,
  63. ordermain_shiplast VARCHAR(50) NOT NULL,
  64. ordermain_shipcompany VARCHAR (50),
  65. ordermain_shipadd1 VARCHAR (50) NOT NULL,
  66. ordermain_shipadd2 VARCHAR(50),
  67. ordermain_shipcity VARCHAR(50) NOT NULL,
  68. ordermain_shipstate CHAR(2) NOT NULL,
  69. ordermain_shipzip CHAR(5) NOT NULL,
  70. ordermain_shipphone CHAR(12) NOT NULL,
  71. ordermain_shipemail VARCHAR(50),
  72. PRIMARY KEY(ordermain_ordernum)) ";
  73.  
  74. $ordermain = mysql_query($query3)
  75.  
  76. //Zdefiniowanie tabeli pól zamówień.
  77. $query4 = "CREATE TABLE orderdet (
  78. orderdet_ordernum INT (6) NOT NULL,
  79. orderdet_qty INT(3) NOT NULL,
  80. orderdet_prodnum CHAR(5) NOT NULL,
  81. KEY(orderdet_ordernum))";
  82.  
  83. $orderdet = mysql_query($query4)
  84.  
  85. echo "Poprawnie utworzenie wszytkich tabel.";
  86. ?>


Już próbowałem rożnych kodowań jak np: utf8_polish_ci, latin2_general_ci za każdym razem ucinało mi lub miałem krzaczki.
Proszę o pomoc lub wskazania mojego błędu w kodzie.

Z góry dziękuje
Pozdrawiam
krzystyn
mialem ten sam problem, ale juz nie pamietam co zmienilem, ze zadzialalo.

z tego co wypisales na poczatku to zmien Metoda porównywania napisów: na:
utf8_polish_ci

a reszte zostaw
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.