Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MYSQL] Polskie znaki w bazie danych.
Forum PHP.pl > Forum > Przedszkole
Atheos
Chciałbym na początku powiedzieć że przeczytałem temat: "[MYSQL] Polskie znaki" i "artykuł" do którego był link w temacie jak również niżej zlinkowane 2 inne tematy. Mam ustawione kodowanie w nagłówku pliku, w edytorze również i polskie znaki w samym dokumencie są dobrze wyświetlane, niewiem jak ustawić kodowanie znaków w bazie mysql. W phpMyadmin wysyłałem zapytanie skopiowane z artykułu:
  1. ALTER DATABASE `produkty_bd` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

otrzymuje coś takiego:
  1. zapytanie SQL:
  2.  
  3. ALTER DATABASE `produkty_bd` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

  1. MySQL zwrócił komunikat: Dokumentacja
  2. #1064 - Something is wrong in your syntax obok 'DATABASE `produkty_bd` DEFAULT CHARACTER SET utf8 COLLATE utf8_u' w linii 1


Próbowałem tez kopiować:
  1. ALTER TABLE `produkty` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci

Wynik był identyczny.

Jeżeli to ma jakieś znaczenie to korzystam z najnowszego krasnala i wszystko wykonuje się u mnie na komputerze.
potreb
A nie możesz tego zrobić poprzez phpmyadmin a nie SQL?
sowiq
@poterb,
a Twoim zdaniem jak phpMyAdmin to robi? Przecież też wykonuje zapytanie. Co więcej - jest ono identyczne jak pokazał autor.

@autor,
próbowałeś ustawić na próbę inne kodowanie? Np. utf8_bin? Może nie masz uprawnień do wykonywania ALTER?

Jest też rozwiązanie na około. Stwórz sobie tabelkę produkty2 o takiej samej strukturze, ale ustaw jej od razu żądane kodowanie. Potem
  1. INSERT INTO produkty2 SELECT * FROM produkty
i po bólu smile.gif
Atheos
@sowiq
Wydaje mi się że mam uprawnienia do wykonywania ALTER loguje się na to konto które było już standardowo założone w krasnalu: root
Jak ma wyglądać to zapytanie z innym kodowaniem? Próbowałem:
  1. ALTER DATABASE `produkty_bd` DEFAULT CHARACTER SET utf8 COLLATE utf8_bin

i
  1. ALTER DATABASE `produkty_bd` DEFAULT CHARACTER SET utf8_bin COLLATE utf8_bin

Ale żadne nie zadziałało. Drugiej części Twojej wypowiedzi nie rozumiem tongue.gif kiedy jest to "od razu"?
sowiq
Cytat(Atheos @ 8.06.2009, 13:22:17 ) *
kiedy jest to "od razu"?

Np. tak:
Cytat
CREATE TABLE `test` (
`test` varchar(20) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL
) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_polish_ci;


Cytat(Atheos @ 8.06.2009, 13:22:17 ) *
Jak ma wyglądać to zapytanie z innym kodowaniem?
Dokłądnie tak, jak napisałeś:
  1. ALTER TABLE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci
Atheos
Nie działa...
Po wpisaniu:
  1. CREATE TABLE `test` (
  2. `test` varchar(20) CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL
  3. ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COLLATE utf8_polish_ci;

Dostaje taki komunikat:
  1. #1064 - Something is wrong in your syntax obok 'CHARACTER SET utf8 COLLATE utf8_polish_ci NOT NULL
  2. ) ENGINE=MyI' w linii 2


Gdy wchodzę w istniejącą już tabele żeby wpisać:
  1. ALTER TABLE `kategorie` DEFAULT CHARACTER SET utf8 COLLATE utf8_polish_ci

W tej ramce mam już wpisane:
  1. SELECT * FROM `kategorie` WHERE 1

Próbowałem to tam dodać i wysłać i też skasować to co już było i wpisać tylko to co zaproponowałeś, dostaje ten sam komunikat co w 1 poście: "$1064 - coś tam coś tam"
sowiq
Wejdź do phpMyAdmin i na stronie głównej kliknij w 'Kodowania napisów'. Zobacz czy masz na liście utf8_polish_ci i utf8_unicode_ci.

[edit]
Zresztą jak masz phpMyAdmin, to przecież możesz tworzyć tabelki za pomocą kreatora...



Atheos
Nie widzę 'Kodowania Napisów' może mam jakąś złą wersje.
Strona Główna:

Strona tabeli:
sowiq
Ło Boże... smile.gif Zaktualizuj sobie MySQL. Korzystasz ze strasznie archaicznej wersji. Nie dziwie się, że nie działa Ci jak powinno smile.gif Masz wersję 3, a najpopularniejsza teraz to 5.
http://en.wikipedia.org/wiki/MySQL:
Cytat
# Version 3.23: beta from June 2000, production release January 2001
Chyba nie muszę Ci mówić ile to jest 8 lat w rozwoju oprogramowania smile.gif

http://dev.mysql.com/downloads/

Od razu możesz sobie zaktualizować phpMyAdmin
http://www.phpmyadmin.net/home_page/downloads.php
Atheos
Ok dzięki za pomoc sugerowałem się tym że to "najnowsza" wersja krasnal'a. Nie bardzo też widzę opcje która pozwoliła by na aktualizacje poszczególnych jego elementów mysql/myphpadmin, polecisz(Ty albo ktoś inny) mi jakąś inną tego typu "paczkę" która pozwoliła by szybko i bezboleśnie zainstalować taki serwer na swoim komputerze?
sowiq
Kurde, czemu ludzie tego Krasnala instalują, skoro nie jest rozwijany od nie wiem jak dawna :/

Polecam XAMPP. W paczce:
Cytat
* Apache HTTPD 2.2.11 + Openssl 0.9.8i
* MySQL 5.1.33
* PHP 5.2.9
* phpMyAdmin 3.1.3.1
* XAMPP CLI Bundle 1.3
* FileZilla FTP Server 0.9.31
* Mercury Mail Transport System 4.62
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.