Kodowanie przy zapisie do pliku .doc

0

Witam,
Pobieram dane z bazy (baza jest ustawiona na utf8_unicode_ci. Dane te trzymam w zmiennej i zapisuje wszystko do pliku .doc. Tylko, że gdy otwieram plik wyskakują mi krzaki zamiast polskich liter. Jak sobie z tym poradzić?
Próbowałem już dane przepuszczać przez iconv np. tak:

    iconv("ISO-8859-2","UTF-8",$dane);  //dawałem też iso z 1 na końcu i nic

ale to nic nie dało.
Bo na stronie html znaki się dobrze wyświetlają tylko w pliku .doc są krzaki.

0

Skoro na stronie są dobrze i są w utf-8, to co to za pomysł, żeby je konwertować Z iso na utf?

Nie pochwaliłeś się w ogóle czym zapisujesz dane do *.doc, a to jest najważniejsze, co nas interesuje.

0

Dane zapisuje funkcją fwrite

0

Jakaś klasa/funkcja? Doc to specyficzny format, nie jest to plain text przecież.

0

żadana klasa tylko skromna funkcja phpowa fwrite.

0

naucz się konkretniej odpowiadać na pytania, tj. pokaż jakiś kod, bo już trzeci raz o to proszę.

0

OK, sory. Oto mój kod. Najpierw dane pobieram z bazy i wrzucam wszystko do zmiennej $dane no i próbuje wszsytko zapisać do pliku szkolenia.doc

$query_list_training = mysql_query("SELECT * FROM `szkolenia` WHERE `nazwa_szkolenia` = '".$_POST['lista_szkolen']."' ORDER BY `nazwisko`");
               $dane = '<table>';               
                while($row_list_training = mysql_fetch_array($query_list_training)){
                   $dane .= '<tr><td style="border:1px solid black;">'.$row_list_training['imie'].' '.$row_list_training['nazwisko'].'</td></tr>';
                }
                $dane .= '</table>'; 
                // przypisanie zmniennej $file nazwy pliku
                $file = "szkolenia.doc";

                // uchwyt pliku, otwarcie do dopisania
                $fp = fopen($file, "a");

                // blokada pliku do zapisu
                flock($fp, 2);

                // zapisanie danych do pliku
                fwrite($fp, $dane);
                // odblokowanie pliku
                flock($fp, 3);

                // zamknięcie pliku
                fclose($fp); 
0

I co, i tyle?
Ty wiesz, że nie tworzysz pliku DOC, tylko zwykły plik tekstowy (z elementami HTML widzę), który potem Word próbuje "naprawiać"?
Tak wygląda plik DOC:
http://i.imgur.com/J8Dy2.jpg

Teraz otwórz Twój "wygenerowany" DOC w notatniku i zobacz. Czytelne? To źle. Bo dla Worda jest nieczytelne właśnie.

Zacznij od "word documents php class" w Google.

0

Dzięki za cenne uwagi, nie pomyślałem, że tak to można zrobić. Znalazłem coś takiego https://github.com/djpate/docxgen. Działa ładnie tylko pomóż mi jeszcze w tym szablonie tabelkę zrobić.

0

albo to mi by też odpowiadało (tabelki ładnie tworzy) tylko tutaj znowu kodowanie leży :(

1 użytkowników online, w tym zalogowanych: 0, gości: 1