![]() |
![]() |
![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 3 Dołączył: 14.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Witam, szukałem na forum niestety odpowiedź nie znalazłem - chyba że gdzieś przeoczyłem. Sprawa wygląda tak. Mam plik CSV z danymi kodowany w UTF-8 i wszystko jest OK tekst się wyświetla prawidłowo z polskimi znakami. Problem jest jak chce porównać zmienną np.:
chodź zmienna $csv['nazwa'] ma wartość "NAZWA" to okazuje się że nie jest równa i warunek nie działa nawet wtedy jak nie ma tam polskich znaków! Po skonwertowania w Notanik++ pliku na UTF-8 bez BOM wszystko działa. Moje pytanie to jaka jest w takim razie różnica między wartościami zmiennej $csv['nazwa'] przy UTF-8 a przy UTF-8 bez BOM. oraz jak rozwiązać problem lub skonwertować dany plik lub zmienną w php na UTF-8 bez BOM. Pozdrawiam |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 22 Dołączył: 10.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
1. http://pl.wikipedia.org/wiki/BOM_%28informatyka%29
2. strcmp I nie powinno być problemu. Jeżeli dalej będziesz miał problemy to napisz jak odczytujesz plik bo są przynajmniej 4 metody na odczytanie pliku csv. Ten post edytował YourFrog 11.01.2014, 12:16:40 |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 3 Dołączył: 14.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
zrob
var_dump($csv['nazwa']); a bedziesz wiedzial co dokladnie zawiera twoja tablica. To naprawde takie trudne? -------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 124 Pomógł: 22 Dołączył: 10.01.2014 Ostrzeżenie: (0%) ![]() ![]() |
@Stef@n
Widzisz bo utf-8 with BOM na początku posiada znacznik kolejności bajtów (w linku masz wyjaśnione). Ja zawsze 1 wiersz w csv pomijałem bo kazałem w nim dać użytkowniką nagłówki z nazwami kolumn. Jeżeli nie chcesz mieć pierwszego wierszu z nagłówkami to musisz sprawdzać czy na początku pliku znajdują się jakieś nie pożadane znaki i je usuwać (3 pierwsze bajty). |
|
|
![]()
Post
#6
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 3 Dołączył: 14.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
zrob var_dump($csv['nazwa']); a bedziesz wiedzial co dokladnie zawiera twoja tablica. To naprawde takie trudne? wypluwa coś takiego Cytat string(8) "OSOBOWA" Ta zmienia jest zawsze jako ostatnia w wierszu CSV czy nie ma tam może na końcu jakiegoś znaku przejścia do nowej linii "Enter"? |
|
|
![]()
Post
#7
|
|
![]() Grupa: Moderatorzy Postów: 36 557 Pomógł: 6315 Dołączył: 27.12.2004 ![]() |
Cytat Ta zmienia jest zawsze jako ostatnia w wierszu CSV czy nie ma tam może na końcu jakiegoś znaku przejścia do nowej linii "Enter"? No przeciez widzisz, ze jsst.... OSOBOWA ma 7 znakow, a masz wyraznie napisane, ze string zawiera 8. Jest wiec jakis bialy znak, ktorego nie widac. Uzyjt trim i po sprawie
-------------------- "Myśl, myśl, myśl..." - Kubuś Puchatek || "Manual, manual, manual..." - Kubuś Programista "Szukaj, szukaj, szukaj..." - Kubuś Odkrywca || "Debuguj, debuguj, debuguj..." - Kubuś Developer |
|
|
![]()
Post
#8
|
|
Grupa: Zarejestrowani Postów: 191 Pomógł: 3 Dołączył: 14.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki wielkie pomogło... Taka mała pierdoła i robiła problem.
|
|
|
![]() ![]() |
![]() |
Aktualny czas: 21.08.2025 - 03:35 |