Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> AJAX (iso-8859-2) + MySQL (UTF-8)
3miel
post
Post #1





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


Witam,

co mam zrobić w takiej sytuacji ze mam kodowanie na stronie ISO, a w bazie danych UTF-8:/ (IMG:http://forum.php.pl/style_emoticons/default/questionmark.gif)

zoabczcie sami jak to wygąda:
echniczne.php?widok=zaawansowany&strona=Dane_techniczne' target='_blank

prosze o pomoc!!
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 14)
060156
post
Post #2





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

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


Przekoduj znaki z UTF-8 na ISO
Tutaj jest przykladowa funkcja dla polskich znakow
z UTF-8 na ISO-8859-16 dla ISO-8859-2
musisz zmienic kody wyjsciowe ...
  1. <?php
  2.  
  3.  function polish_from_utf8_to_iso($value) { // from utf8 to ISO-8859-16
  4.  $trans = array("\xc4\x84" => "\xa1", // A 
  5.  "\xc4\x85" => "\xa2",
  6.  "\xc4\x98" => "\xdd", // E 
  7.  "\xc4\x99" => "\xfd",
  8.  "\xc4\x86" => "\xc5", // C 
  9.  "\xc4\x87" => "\xe5", 
  10.  "\xc5\x81" => "\xa3", // L 
  11.  "\xc5\x82" => "\xb3",
  12.  "\xc5\x83" => "\xd1", // N 
  13.  "\xc5\x84" => "\xf1",
  14.  "\xc3\x93" => "\xd3", // O 
  15.  "\xc3\xb3" => "\xf3",
  16.  "\xc5\xbb" => "\xaf", // Z 
  17.  "\xc5\xbc" => "\xbf",
  18.  "\xc5\x9a" => "\xd7", // S 
  19.  "\xc5\x9b" => "\xf7",
  20.  "\xc5\xb9" => "\xac", // Z 
  21.  "\xc5\xba" => "\xae");
  22.  return strtr($value, $trans);
  23.  }
  24.  
  25.  
  26. ?>
Go to the top of the page
+Quote Post
sf
post
Post #3





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


http://php.net/pg_client_encoding załatwia sprawę ..
Go to the top of the page
+Quote Post
3miel
post
Post #4





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


Mam problem z tą funkcją pg_client_encoding(); jak ją zastosować w moim przypadku?
Go to the top of the page
+Quote Post
sf
post
Post #5





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


http://pl2.php.net/manual/en/function.mysq...nt-encoding.php

nie zauwazylem, ze to mysql ;] ale mozna sie bylo domyslec..

Ten post edytował sf 23.04.2006, 08:45:22
Go to the top of the page
+Quote Post
3miel
post
Post #6





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


Ale dalej nie rozumiem w czym ta funkcja ma mi pomóc...
Go to the top of the page
+Quote Post
sf
post
Post #7





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


Eh, chyba się dziś nie wyspałem.. za pierwszym razem miała być funkcja:

http://pl.php.net/pg_set_client_encoding ktora umozliwa ustawienie kodowania bazy.. czyli np. na stronie mamy utf-8, a baze mamy w iso-8859-2, czyli w sumie to co potrzebujesz, tyle, ze w mysql

nie widze jednak czegos takiego w mysql.. hmm, może spróbuj czegoś takiego:
SET CHARACTER SET UTF-8; // (badz utf8)
SET NAMES UTF-8;

a jak nie to jak wczesniej kolega napisal.. tyle, ze mozna wykorzysta iconv, a nie pisac wlasne funkcje

Ten post edytował sf 23.04.2006, 09:33:57
Go to the top of the page
+Quote Post
3miel
post
Post #8





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


Tylko że ja nie mam zmieniać kodowania na UTF-8 w MySAL lecz na ISO.

To co podałes nie działa. Spróbuje z iconv

Mój kod:
  1. <?
  2. $calosc .= iconv("UTF-8", "ISO-8859-1", $wers['tresc']."");
  3. ?>

no i u mnie na Krasnalu wywala błąd:
Fatal error: Call to undefined function: iconv() in c:\usr\krasnal\www\gsmserwis\admin\ajax\dane_techniczne.php on line 24

a na serwie ( echniczne.php?widok=zaawansowany&strona=Dane_techniczne' target='_blank ) wyswietla do 1 literki z ISO.

Ten post edytował 3miel 23.04.2006, 10:43:38
Go to the top of the page
+Quote Post
sf
post
Post #9





Grupa: Zarejestrowani
Postów: 1 597
Pomógł: 30
Dołączył: 19.02.2003
Skąd: Tychy

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


a ustawienie CHARACTER_SET_CLIENT, CHARACTER_SET_RESULTS i COLLATION_CONNECTION tez nic nie daje?
Go to the top of the page
+Quote Post
060156
post
Post #10





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

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


Mialem,
podobne problemy i dlatego napisalem swoja
funkcje. (polish_from_utf8_to_iso) Zwlaszcza pojawily sie powazne
problemy z przkodowywaniem óÓ.
Ale fakt, nalezy ustawic w mysql klijencie:

  1. mysql_query("set names utf8",$this->db);


a przedmowca cos mowi bez zrozumienia
o uzyciu funkcji, ktore zwracaja typ enoding do kodowania ...
Go to the top of the page
+Quote Post
3miel
post
Post #11





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


060156 mogłbyś mi podać jakie kodowania maja mieć te znaki w tej twojej funkcji "polish_from_utf8_to_iso", bo bez tego nei moge kontynuować programowania mojego panelu ;(
Go to the top of the page
+Quote Post
060156
post
Post #12





Grupa: Zarejestrowani
Postów: 146
Pomógł: 0
Dołączył: 9.03.2006
Skąd: Columbus Georgia

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


Przpraszam,zapomnialem dodac
z lewej strony sa 2 bajtowe UTF-8 kody polskich znakow
natomiast z prawej wstaw kody znakow w ISO ..
Go to the top of the page
+Quote Post
3miel
post
Post #13





Grupa: Zarejestrowani
Postów: 203
Pomógł: 0
Dołączył: 10.06.2004
Skąd: Gliwice

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


Dużo mi to nie pomogło... znalazłem tabele ( http://www.gajdaw.pl/varia/59-artykul/przy...belka/index.php ) ale jakoś nie wiem które ISO wybrac, a pozatym musze dawać "\" przed każdym kodem litery?

Byłbym wdziećzny jakbyć podaj 1 przykład...
Go to the top of the page
+Quote Post
FiDO
post
Post #14





Grupa: Przyjaciele php.pl
Postów: 1 717
Pomógł: 0
Dołączył: 12.06.2002
Skąd: Wolsztyn..... Studia: Zielona Góra

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


Kodowanie mozna tez zmienic poprzez funkcje mb_convert_encoding" title="Zobacz w manualu php" target="_manual
Go to the top of the page
+Quote Post
Nivo
post
Post #15





Grupa: Zarejestrowani
Postów: 11
Pomógł: 0
Dołączył: 22.07.2007

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


Oto zmieniona funkcja z poprzedniego posta, dla standardu ISO-8859-2

Kod
function polish_from_utf8_to_iso($value) {    // from utf8 to ISO-8859-2
          $trans = array("\xc4\x84" => "\xA1", // A
                         "\xc4\x85" => "\xB1",
                         "\xc4\x98" => "\xCA", // E
                         "\xc4\x99" => "\xEA",
                         "\xc4\x86" => "\xC6", // C
                         "\xc4\x87" => "\xE6",
                         "\xc5\x81" => "\xA3", // L
                         "\xc5\x82" => "\xB3",
                         "\xc5\x83" => "\xD1", // N
                         "\xc5\x84" => "\xF1",
                         "\xc3\x93" => "\xD3", // O
                         "\xc3\xb3" => "\xF3",
                         "\xc5\xbb" => "\xAF", // Z
                         "\xc5\xbc" => "\xBF",
                         "\xc5\x9a" => "\xA6", // S
                         "\xc5\x9b" => "\xB6",
                         "\xc5\xb9" => "\xAC", // Z
                         "\xc5\xba" => "\xBC");
     return strtr($value, $trans);
}
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:03