Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [SOLVED] Odbc, Access i kodowanie znaków
patrycjusz
post 5.07.2007, 17:07:03
Post #1





Grupa: Zarejestrowani
Postów: 263
Pomógł: 0
Dołączył: 13.07.2003
Skąd: wawa

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


Witam,

Walczę z tym już dobre pare godzin smile.gif
Zastrzele się jak rozwiązanie się okaże bajecznie proste tongue.gif

Otóż mamy sobie plik PHP który łączy się po ODBC do Access'a i ciągnie sobie dane.
Problem jest z kodowaniem znaków:
1. rekordy mają różne kodowanie - raz ASCII raz UTF-8,
2. iconv mimo iż bym chciał - nie działa smile.gif

Poniżej kod (troche już zamotany tongue.gif)
  1. <?php
  2. ini_set('default_charset', 'UTF-8');
  3.  
  4. mb_internal_encoding("UTF-8");
  5.  
  6. echo implode(", ", mb_detect_order());
  7.  
  8. $dsn = "odbc:Driver={Driver do Microsoft Access (*.mdb)};Dbq=C:dane.mdb;Uid=Admin";
  9. $pdo = new PDO($dsn);
  10. $sql = "tutaj jesst select";
  11. iconv_set_encoding("internal_encoding", "UTF-8");
  12. //iconv_set_encoding("input_encoding", "UTF-8");
  13. iconv_set_encoding("output_encoding", "UTF-8");
  14.  
  15. $member = "pierwsza linia w pliku CSV";
  16.  
  17. foreach($pdo->query($sql) AS $row){
  18. $data = "";
  19. if($row['E-MAIL'] == null || $row['EMAIL_FIRMA'] == null){
  20.  
  21. }else{
  22. echo mb_detect_encoding($row['FIRMA']);
  23.  
  24. if(is_null($row['E-MAIL'])){
  25. $emails = explode(";",$row['EMAIL']);
  26. $data .= iconv('iso-8859-2','UTF-8',$email[0])."|";
  27. }else{
  28. $data .= iconv('iso-8859-2','UTF-8',$data['E-MAIL'])."|";
  29. }
  30.  
  31. $data .= iconv('iso-8859-2','UTF-8',$row['KOLUMNA'])"; //nie pomaga :)
  32. }
  33. echo mb_detect_encoding($data); //raz jest ASCII raz utf-8
  34. if(mb_detect_encoding($data) == 'UTF-8'){
  35. $member .= $data;
  36. }else{
  37. echo mb_detect_encoding($data);//raz wyswietla sie raz nie ;)
  38. }
  39. echo "n";
  40. }
  41. ?>


Nie będę tłumaczył do czegoż ma to służyć bo historia jest tak długa że hej a baza jest w takim stanie, że szok smile.gif

Temu kto rozwiąze problem stawiam browarów 5 smile.gif

pzdr, patS

Ten post edytował patrycjusz 6.07.2007, 13:02:57


--------------------
www.tigroup.pl Rozwiązania informatyczne dla sektora MSP.
Projektowanie i tworzenie stron www, dedykowane rozwiązania e-biznes, outsourcing usług programis
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Wersja Lo-Fi Aktualny czas: 14.08.2025 - 12:56