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:
<?php ?> <?php // Utworzenie bazy danych ecommerce } else { } //Zdefiniowanie tabeli produktów. $query = "CREATE TABLE products ( products_prodnum CHAR(5) NOT NULL, products_name VARCHAR(20) NOT NULL, products_proddesc TEXT NOT NULL, products_price DEC (6,2) NOT NULL, products_dateadded DATE NOT NULL, PRIMARY KEY(products_prodnum))"; //Zdefiniowanie tabeli klientów. $query2 = "CREATE TABLE customers ( customers_custnum INT(6) NOT NULL AUTO_INCREMENT, customers_firstname VARCHAR (15) NOT NULL, customers_lastname VARCHAR (50) NOT NULL, customers_add1 VARCHAR (50) NOT NULL, customers_add2 VARCHAR (50), customers_city VARCHAR (50) NOT NULL, customers_state CHAR (2) NOT NULL, customers_zip CHAR (5) NOT NULL, customers_phone CHAR (12) NOT NULL, customers_fax CHAR (12), customers_email VARCHAR (50) NOT NULL, PRIMARY KEY (customers_custnum))"; //Zdefiniowanie tabeli zamówień. $query3 = "CREATE TABLE ordermain ( ordermain_ordernum INT(6) NOT NULL AUTO_INCREMENT, ordermain_orderdate DATE NOT NULL, ordermain_custnum INT(6) NOT NULL, ordermain_subtotal DEC (7,2) NOT NULL, ordermain_shipping DEC (6,2), ordermain_tax DEC(6,2), ordermain_total DEC(7,2) NOT NULL, ordermain_shipfirst VARCHAR(15) NOT NULL, ordermain_shiplast VARCHAR(50) NOT NULL, ordermain_shipcompany VARCHAR (50), ordermain_shipadd1 VARCHAR (50) NOT NULL, ordermain_shipadd2 VARCHAR(50), ordermain_shipcity VARCHAR(50) NOT NULL, ordermain_shipstate CHAR(2) NOT NULL, ordermain_shipzip CHAR(5) NOT NULL, ordermain_shipphone CHAR(12) NOT NULL, ordermain_shipemail VARCHAR(50), PRIMARY KEY(ordermain_ordernum)) "; //Zdefiniowanie tabeli pól zamówień. $query4 = "CREATE TABLE orderdet ( orderdet_ordernum INT (6) NOT NULL, orderdet_qty INT(3) NOT NULL, orderdet_prodnum CHAR(5) NOT NULL, KEY(orderdet_ordernum))"; ?>
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