Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [PHP][MySQL]Kodowanie pliku w UTF-8 bez bom
Forum PHP.pl > Forum > Przedszkole
Mackos
Witajcie!
Mam całkiem głupkowaty problem, mam plik dzięki któremu łączę się z bazą danych, jednak za nic w świecie korzystając z notepad'a++ nie mogę go przekonwertować na UTF-8 bez BOM, i cały czas zostaje ANSI.
Jak próbowałem go w zwykłym notatniku przerobić na UTF-8 to napotykałem błędy:
Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent
A nie przekonwertowane sprawia iż wysyłany (z pliku o dobrym kodowaniu) formularz zapisuje się w bazie z krzaczkami, oczywiście mam w bazie ustawione utf8_unicode wszystko (z utf8_polish też nie działa).
Więc czy mógłby mi ktoś doradzić jak to naprawić?

Strona wygląda tak że w pliku formularza(utf8) najpierw jest include 'database.php(ANSI :/)' a potem formularz POST z action="plik formularza".
CuteOne
A łaskawie sprawdziłeś co znaczy błąd "headers already sent" ?
Mackos
Tak wiem co oznacza ale nie w tym rzecz, ponieważ to jest kwestia wpisywania i odczytywania z bazy danych bo pomimo ustawienia wszędzie poza database.php jest ustawione na utf-8 a skrypt nadal krzaczy...
modern-web
Poszukaj na forum... Identyczny problem widziałem kilka dni temu.
qqwwq
Dlaczego w Notepad++ nie możesz go przerobić na UTF-8 bez BOM? Wystarczy przecież że zaznaczysz cały tekst, skopiujesz do schowka, zmieniasz kodowanie pliku, wklejasz tekst i zapisujesz plik - cała filozofia i u mnie zawsze działa.

Jeżeli natomiast chodzi o polskie znaki, to też się z tym męczyłem, i znalazłem takie rozwiązanie ... mój plik do połączenia z bazą na localu, patrz ostatnią linijką:
  1. <?php
  2. $connection = @mysql_connect('localhost', 'root', '')
  3. or die('Brak połączenia z serwerem MySQL');
  4. $db = @mysql_select_db('todo', $connection)
  5. or die('Nie mogę połączyć się z bazą danych');
  6. mysql_query('SET NAMES utf8');
  7. ?>
Mephistofeles
Nie trzeba nic kopiować, wystarczy użyć opcji konwertuj zamiast zmień tongue.gif.
Mackos
Mądrale jedne tongue.gif
Gdyby tak było to bym nie pisał o tym.
Problem jest tego typu że ustawiam w notepad++ kodowanie tak jak łaskawie mi napisaliście ale po wyłączeniu i włączeniu pliku znowu jest ANSI
Daiquiri
To stwórz nowy plik z ustawionym odpowiednim kodowaniem i dopiero wtedy "wklej" zawartość pliku z kodowaniem błędnym.
Mephistofeles
A masz jakieś polskie znaki w pliku? Bo jeśli masz tylko standardowe, to problem w tym, że Notepad++ nie wykrywa tego jako UTF-8, przynajmniej tak wynika z moich doświadczeń.
Mackos
Mephistofeles miałeś racje, zmieniło się teraz na utf8.
Jednak nadal krzaczy, nie mam pojęcia co może być źle, macie może jakąś sugestie gdzie mogłem zrobić błąd?
Bo zamiast Kraków wyświetla mi Kraków

Hej naprawdę jestem zdesperowany ogólnie sprawdzałem już wszystko, nawet jak wpisuję dane do bazy z ó to nadal wyświetla mi <?>
Czy może mi ktoś podpowiedzieć co mogłem przeoczyć że robi błąd ?
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.