Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Dziwne kodowanie polskich znaków, MySQL
rugby
post
Post #1





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 21.05.2009

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


Zauważyłem, że w mojej bazie danych MySQL polskie znaki zachowywane są w dziwny sposób:

Kod
"Ä…"=>"ą"
"ć"=>"ć"
"Ä™"=>"ę"
"ó"=>"ó"
"Å‚"=>"ł"
"Å„"=>"ń"
"Å›"=>"ś"
"ż"=>"ż"
"ź"=>"ź"
"Å�"=>"Ł"
"Ó"=>"Ó"
"ü"=>"ü"
"ä"=>"ä"
"Å‘"=>"ö"
"Å�"=>"Ö"

Strona, która na moim serwerze wyświetla dane z bazy ma kodowanie UTF-8 i wyświetla znaki poprawnie. Kiedy zrobię zrzut bazy i zaimportuję go na inny serwer przez phpMyAdmin, to polskie znaki mają postać niepoprawną mimo takiej samej strony wyświetlającej je.

Jakim programem skonwertować te niepoprawne znaki na ich odpowiedniki w UTF-8?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
rugby
post
Post #2





Grupa: Zarejestrowani
Postów: 61
Pomógł: 1
Dołączył: 21.05.2009

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


Przecież już pisałem, że wszędzie mam UTF-8, zarówno w HTML-u jak i w połączeniu z bazą (SET NAMES utf8). Natomiast dane w pliku eksportu są zapisane takimi krzaczkami. Próbowałem już Gżegżółką, ale tam jest tylko ISO<->UTF8 i WIN1250<->UTF8, a ja potrzebuję coś jak DZIWNY_UTF8<->UTF8.

Nie mogąc się doczekać odpowiedzi zrobiłem prosty skrypt w PHP:
  1. <?php
  2. if($_POST['text'])
  3. {
  4.    header("Content-type: text/plain; charset=utf-8");
  5.    header("Content-disposition: attachment; filename=dump.sql");
  6.    $msg=$_POST['text'];
  7.    $msg=str_replace("Ä…","ą",$msg);
  8.    $msg=str_replace("ć","ć",$msg);
  9.    $msg=str_replace("Ä™","ę",$msg);
  10.    $msg=str_replace("Ăł","ó",$msg);
  11.    $msg=str_replace("Ĺ‚","ł",$msg);
  12.    $msg=str_replace("Ĺ„","ń",$msg);
  13.    $msg=str_replace("Ĺ›","ś",$msg);
  14.    $msg=str_replace("Ĺź","ż",$msg);
  15.    $msg=str_replace("Ĺş","ź",$msg);
  16.    $msg=str_replace("Ł","Ł",$msg);
  17.    $msg=str_replace("Ă“","Ó",$msg);
  18.    $msg=str_replace("Ăź","ü",$msg);
  19.    $msg=str_replace("ä","ä",$msg);
  20.    $msg=str_replace("Ĺ‘","ö",$msg);
  21.    $msg=str_replace("Ő","Ö",$msg);
  22.    echo stripslashes($msg);
  23. }
  24. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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: 1.04.2026 - 20:18