![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Używam skryptu IP.Board ( proszę nie przenosić, nie dotyczy skryptu! ) i dziś przemyśliwałem, czy mam poprawne kodowanie w bazie danych. Okazało się to, czego się obawiałem - nie poprawne. Ustawiłem kodowanie w skrypcie utf-8 i działa, ale do bazy zapisuję dane w formacie: Cytat JeĹ›li chcesz dowiedzieć siÄ™ ile twĂłj przedmiot jest wart napisz :-) <br />W temacie musisz podać :ld/nldDokĹ‚adne statystyki przedmiotu Poprawne powinno wyglądać tak i ono działa: http://wklej.com.pl/show.php?what=20090603170717 Dlaczego serwer tak zapisuje dane? Oto dane o MySQL: System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) System porównań dla połączenia MySQL: utf8_general_ci Tabele mają również ten sam system. W czym jest rzecz? Pozdrawiam, Largo Ten post edytował Largo 3.06.2009, 16:07:10 |
|
|
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 11 Dołączył: 20.05.2007 Skąd: z fotela :) Ostrzeżenie: (0%) ![]() ![]() |
z tymi skryptami zwłaszcza w starszej wersji bywa że nie mają zadeklarowanego kodowania po połączeniu z bazą danych. więc znajdź miejsce gdzie się podpina pod bazę i zobacz czy jest zaraz po podłączeniu bazy wykonane zapytanie:
Kod SET NAMES UTF8 jak nie ma to koniecznie dodaj. Powinno pomóc |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Teraz to ja już czegoś nie rozumiem. Możesz mi zapodać listę znaków UTF-8 jak powinny wyglądać w bazie danych? Zmieniłem teraz kodowanie na iso-8859-2 i mam znaki w bazie polskie tak jak się je piszę i widzi... PS. Dziwne, seria polskich znaków: ąęćóżdfgfg Zostaje zapisana tak: Ä ÄÄóşdfgfg I programy rozumieją to, czy to jest poprawne kodowanie utf8_general_ci? Czy powinno ono wyglądać inaczej? Ten post edytował Largo 4.06.2009, 12:10:52 |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 4.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wynik: Masz sugesti�, nowy pomys�, ciekaw� ide� na zmiany? Napisz tutaj! Z ch�ci� Ci� wys�uchamy i moşliwe, şe dzi�ki Tobie dokonamy zmian na lepsze. |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 92 Pomógł: 3 Dołączył: 4.04.2006 Ostrzeżenie: (0%) ![]() ![]() |
nie doczytalem do konca, mea culpa
![]() Cytat System kodowania znaków dla MySQL: UTF-8 Unicode (utf8) System porównań dla połączenia MySQL: utf8_general_ci czyli w Twoim przypadku to UTF-8 zamiast ISO-8859-2 ------[EDIT] btw, zastosoj preg_replace zeby zastapic polskie znaki kodowaniem ASCI lub UTF, np:
wiecej o bbcode w tym temacie Ten post edytował jezoo 4.06.2009, 12:42:32 |
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witaj,
Dziękuje za radę, ale tu nie chodzi o przenoszenie bazy, a tworzenie takich wpisów teraz... Nie chcę obudzić potem z tym problemem, a wolę go teraz rozwiązać. |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
W przy kodowaniu strony wazne sa conajmniej 3 ustawienia.
1. Przegladarki (definiujesz w <head> w html'u): <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 2. Bazy: Ustawienia kodowania bazy jak rowniez tabel. Sprawdz np. w phpmyadminie czy wszedzie masz UTF-8 3. Przy zestawianiu polaczenia w php: np. mysql_query("SET NAMES 'utf-8'"); //kodowanie polaczenia |
|
|
![]()
Post
#9
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
Wszystkie 3 ustawione poprawione... Czy powodem może być zmienna systemowa: character_set_server = latin1 i collation_server = latin1_swedish_ci? |
|
|
![]()
Post
#10
|
|
Grupa: Zarejestrowani Postów: 17 Pomógł: 0 Dołączył: 22.03.2007 Ostrzeżenie: (0%) ![]() ![]() |
Powinienes miec mniej wiecej cos takiego w my.cnf:
Kod [client] default-character-set=utf8 [mysql] default-character-set=utf8 character-sets-dir=/usr/share/mysql/charsets [mysqlcheck] default-character-set=utf8 character-sets-dir=/usr/share/mysql/charsets [mysqldump] default-character-set=utf8 character-sets-dir=/usr/share/mysql/charsets [mysqld] default-character-set=utf8 default-collation=utf8_general_ci character-set-server=utf8 collation-server=utf8_general_ci init-connect='SET NAMES utf8' Sprawdz czy masz tak serwer ustawiony. Daj znac jezeli masz tak samo i dalej nie dziala. Bedziemy dalej szukac. |
|
|
![]()
Post
#11
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witaj,
Napisałem pytanie do administratora. Mimo to, mam pytanie. Dlaczego Wordpress dodaje do bazy polskie znaki tak jak się je piszę, a nie zamienia na encje? Czy tak powinna wyglądać bazą UTF-8, czyli znaki w swojej normalnej postaci? |
|
|
![]()
Post
#12
|
|
Grupa: Zarejestrowani Postów: 100 Pomógł: 11 Dołączył: 20.05.2007 Skąd: z fotela :) Ostrzeżenie: (0%) ![]() ![]() |
dokladnie. Kodowanie UTF-8 ma "w sobie" wszystkie znaki specjalne poszczególnych języków. kwestia błędnego zapisu w bazie może również dotyczyć samej bazy (została utworzona jako iso) jak Kaayl napisał kodowanie musisz mieć bazy oraz poszczególnych pól tekstowych w tabelach ustawione na UTF
miałem kiedyś robótkę po kimś na bazie którą tamten ktoś przerabiał z iso na uTF i problemem była jedna kolumna - cała baza ustawiona na UTF tabele też a jedna kolumna TEXT miała ISO zamiast UTF. Co smieszne obok kolumna tytułu varchar miała UTF ![]() więc moja rada posprawdzaj dokładnie w myadminie każdą tabele i kolumny. acha przerabianie samego kodowania kolumny może spowodować że wszystkie dane w kolumnie dostaną krzaczków. najlepiej wyeksportuj bazę z dropem tabel i w eksporcie pozmieniaj wszelkie iso na utf8 |
|
|
![]()
Post
#13
|
|
Grupa: Zarejestrowani Postów: 203 Pomógł: 6 Dołączył: 11.09.2005 Ostrzeżenie: (0%) ![]() ![]() |
Witaj,
Patrzyłem na wszystko i wszędzie jest utf8_general_ci, nie mam pojęcia jak mam zweryfikować takie dane... O dziwo na tym serwerze Wordpress dobrze zapisuje dane, bo są wszystkie znaki polskie i działa, a sam IP.Board daje mi tak po kościach, że nie wiem :-) |
|
|
![]() ![]() |
![]() |
Aktualny czas: 20.08.2025 - 17:28 |