Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [php][mysql][csv] Usuwanie tekstu z polskimi znakami
kubap007
post
Post #1





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 29.05.2007

Ostrzeżenie: (0%)
-----


Witam.

Mam pewien problem z dodawaniem danych do bazy. Wykorzystuję funkcję :
  1. while(($data = fgetcsv($handle, 10000, ",")) !== FALSE){
do operowania na danych z pliku csv. Wszystko jest ok do momentu gdy występuje polski znak diakrytyczny. Do bazy zapisuje jedynie część słowa do znaku i nic poza tym. Oczywiście na początku wykonuję:

  1. $query ="SET NAMES 'utf8';"; // upewniamy się że zadziałają polskie znaki
  2. mysql_query($query) or die(mysql_error());
  3.  
  4. $query ="SET CHARSET 'utf8';"; // upewniamy się że zadziałają polskie znaki
  5. mysql_query($query) or die(mysql_error());


Ale dalej krzaki.
Mam małe podejrzenia co do funkcji fopen(). Ponieważ kiedy porównałem znaki wpisywane z palca (echo "łłłł") oraz to co daje echo fopen()+fread() to przy drugiej opcji były krzaki a przy pierwszej nie.

Będę wdzięczny za pomoc.
Go to the top of the page
+Quote Post
luck
post
Post #2





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


Jesteś pewien, że plik CSV jest kodowany w UTF, a nie np. ISO lib Cp1250?
Go to the top of the page
+Quote Post
kubap007
post
Post #3





Grupa: Zarejestrowani
Postów: 38
Pomógł: 0
Dołączył: 29.05.2007

Ostrzeżenie: (0%)
-----


Nie do końca wiem jak jest kodowany ten plik (źródło zewnętrzne), ale w notepad++ rzeczywiście przy kodowaniu UTF-8 są krzaki. Dobrze się wyświetla przy domyślnym ANSI.
Nie wiem co natomiast zrobić jeśli ma być inne kodowanie, ponieważ baza ma UTF-8 i też nie można tego zminić.
Go to the top of the page
+Quote Post
luck
post
Post #4





Grupa: Zarejestrowani
Postów: 317
Pomógł: 58
Dołączył: 6.11.2005

Ostrzeżenie: (0%)
-----


Możesz popróbować albo z wysyłaniem do bazy "SET NAMES" z odpowiednim kodowaniem albo z użyciem "iconv".
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 22:27