![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 118 Pomógł: 6 Dołączył: 25.10.2010 Skąd: Radzyn Podlaski Ostrzeżenie: (0%) ![]() ![]() |
Witam, najpierw przedstawię skrypt:
Działanie skryptu: w formularzu wpisuję lub wklejam jakiś tekst, w którym mogą być polskie znaki, dane są przesyłane do powyższego skryptu, który ma je dodać do bazy danych. Proste dodanie generuje jednak w mojej bazie (kodowanie utf-8) krzaczki, więc stwierdziłem, że trzeba zadbać o konwersję. Dodałem zatem funkcje mb_detect_encoding i inconv, niestety funkcja mb_detect_encoding wyrzuca błąd, jak wpiszę jej kodowanie windows-1250 lub cp1250. Błędem tym jest wspomniany w temacie: illegal argument. Będę wdzięczny za pomoc -------------------- Michal Zarobkiewicz Photographic Gallery |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
Ale po co?
Nie lepiej w sekcji <head> dać
A w PHP, zaraz po połączeniu do bazy: -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 118 Pomógł: 6 Dołączył: 25.10.2010 Skąd: Radzyn Podlaski Ostrzeżenie: (0%) ![]() ![]() |
W head oczywiście jest :-P
A odnośnie SET NAMES, mogę to dodać, jako część mojego zapytania do bazy? -------------------- Michal Zarobkiewicz Photographic Gallery |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 116 Pomógł: 29 Dołączył: 13.12.2010 Skąd: Warszawa Ostrzeżenie: (0%) ![]() ![]() |
SET NAMES musi być wywoływane jako osobne zapytanie, zaraz po połączeniu się do bazy (czyli zaraz po mysql_connect() ), przy każdym wywołaniu skryptu. Najlepiej wrzucić to linijka pod linijką.
Informuje to serwer MySQL, że podczas połączenia z bazą, wszystkie dane będą przesyłane w UTF-8. W przeciwnym wypadku, jeśli serwer ma ustawione jako domyślne kodowanie ISO, a Ty nie poinformujesz go, że chcesz przesyłać dane w UTFie, to on przyjmie dane jako ISO i widząc, że ma bazę danych i tabelki w formacie UTF, będzie próbował konwertować dane, co oczywiście kończy się krzakami. No i oczywiście odniesie to skutek do nowo wstawianych danych, te dotychczasowe będą wyświetlane tak samo jak zostały wcześniej wstawione (czyli do kitu ![]() Temat stary jak świat, jest przyklejony: Temat: MYSQL Polskie znaki -------------------- "Aby zrozumieć rekurencję, musisz najpierw zrozumieć rekurencję."
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 25.07.2025 - 01:53 |