Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Znów problem z PL literami
Forum PHP.pl > Forum > Bazy danych > MySQL
Blackhole
Hej!
Miałem w poprzedniej bazie zapisywane dane w latin2. Przenoszę bazę na nowy serwer i chciałem zmienić kodowanie na utf8.

Mam zrobione:
  1. SET NAMES utf8;
Strona ma nagłówek meta:
  1. <meta http-equiv="content-type" content="text/html; charset=utf-8" />
Poniższa komenta Linux'a zwraca:
Kod
$ file -i art.php
art.php: text/x-php; charset=utf-8

Baza ma ustawione:
DEFAULT_CHARACTER_SET_NAME = utf8
DEFAULT_COLLATION_NAME = utf8_unicode_ci

Porównywanie napisów jest utf8_general_ci. W tabeli k_articles jest kolumna art_title typu VARCHAR. Wartości stamtąd wyświetlane są na stronie poprawnie (z PL literami). Jednak w tabeli k_comments mam kolumnę com_tresc typu TEXT i komentarze stamtąd mają krzaki worriedsmiley.gif
Baza wyeksportowana ze starej lokalizacji została przekodowana na UTF-8 przy pomocy polecenia iconv w systepie Linux.

Ktoś ma jakiś pomysł, jak to naprawić?
krzysztof_kf
Pokaż te niby krzaki
Blackhole
http://konservat.magsites.pl/tpc.php?art=1...p;path=arty2010

Po prawej stronie w "bloczku" DYSKUSJE są wartości z kolumny art_title i mają PL litery.
krzysztof_kf
u to niedobrze chyba nic się nie da się z tym zrobić jak tylko ręczne edytowanie właśnie tu był błąd początkowego kodowanie na latina_2 najlepiej tylko i wyłącznie kodowanie utf8 bo inaczej takie rzeczy się dzieją ;/
Blackhole
Hmm... Ale tylko wartości z kolumny typu TEXT są złe, a te z VARCHAR dobre. Czy to jakaś prawidłowość?
krzysztof_kf
To nic nie ma do tego kodowanie miałeś złe ustawione zdaje się od samego początku .

Varchar jest to funkcja określająca maksymalną ilość znaków

tak na marginesie strona podatna na SQL Injection
Blackhole
Cytat
tak na marginesie strona podatna na SQL Injection
Możesz podać przykład?
krzysztof_kf
http://konservat.magsites.pl/tpc.php?art=1...y2010?=id%20%27 ? dalej mam mówić zobaczyłem że masz na samym dole błąd bazy to jest potencjalne zagrożenie . ^^
Blackhole
Cytat(krzysztof_kf @ 14.05.2010, 16:35:00 ) *
chyba nic się nie da się z tym zrobić jak tylko ręczne edytowanie

Ale co miałbym edytować? Jedyne podejrzenie to takie, że chodzi Ci o każdy znać w bazie. Jednak w bazie jest poprawnie zapisane - w utf8 sadsmiley02.gif
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.