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:
<?php
header('Content-type: text/html; charset=utf-8'); ?>
<?php
die ("Sprawdź połączenie z bazą danych.");
mysql_query('SET character_set_client=utf8_general_ci'); mysql_query('SET character_set_results=utf8_general_ci');
// Utworzenie bazy danych ecommerce
echo "Utworzenie bazy danych zakończone poprawnie! <br />"; } else {
echo "Nie udało się utworzyć bazy danych."; }
//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))";
echo "Poprawnie utworzenie wszytkich tabel."; ?>
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
Ten post edytował jerry1984 11.04.2011, 15:30:36