ďťż
 
zmiana php i probelm z kodowaniem ďťż
 
zmiana php i probelm z kodowaniem
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

zmiana php i probelm z kodowaniem



Jacek - 15-03-2006 10:32
zmiana php i probelm z kodowaniem
  mam problem z php5. zainstalowalem go dla Apacha 1.3 pod winda i baza
mysql 4.1...

problem polega na tym ze jak mialem php 4, kodowanie teksty z bazy byly
wyswietlane poprawnie natomiast po zmianie php na 5 zamiast polskich
znaczkow mam "?"

--
pozdrawiam >> KraseK
www.cell.pl
www.motoswiat.pl





tmerlin - 15-03-2006 10:33

  Dnia poniedziałek, 13 marca 2006 14:03, Jacek napisał:
> mam problem z php5. zainstalowalem go dla Apacha 1.3 pod winda i baza
> mysql 4.1...
>
> problem polega na tym ze jak mialem php 4, kodowanie teksty z bazy byly
> wyswietlane poprawnie natomiast po zmianie php na 5 zamiast polskich
> znaczkow mam "?"
Czy aby to napewno wina PHP ???
Powodow moze byc kilka
- APACHE - ustawione defaultowe kodowanie na iso-8859-1
- mysql - ustawione kodowanie znakow na inne niz Latin2 (badz iso-8859-2)
- zla strona kodowania pliku HTML ;)
--
Archiwum grupy: http://niusy.onet.pl/pl.comp.lang.php




the_foe - 15-03-2006 10:33

 
Użytkownik "Jacek" <jacekNOSPAM@cell.pl> napisał w wiadomości
news:dv3qjr$9u6$1@inews.gazeta.pl...
> mam problem z php5. zainstalowalem go dla Apacha 1.3 pod winda i baza mysql
> 4.1...
>
> problem polega na tym ze jak mialem php 4, kodowanie teksty z bazy byly
> wyswietlane poprawnie natomiast po zmianie php na 5 zamiast polskich znaczkow
> mam "?"
>

Oytanie brzmi, czy uzywales jakis funkcji na stringach, typu strtolower ? Jesli
nie to nie ma nic wspolnego. PHP i MySQL wypluwaja taki sami tekst jaki do niego
wpisano. Chyba ze uzywales niektorych funkcji, wtedy musisz ustawic kodowanie
poprawnie.




Jacek - 15-03-2006 10:33

  tmerlin napisał(a):

> Czy aby to napewno wina PHP ???

tego to ja nie wiem

> Powodow moze byc kilka
> - APACHE - ustawione defaultowe kodowanie na iso-8859-1

apache
AddLanguage pl .po
AddCharset ISO-8859-2 .iso-pl

> - mysql - ustawione kodowanie znakow na inne niz Latin2 (badz iso-8859-2)

kodowanie bazy na utf8

> - zla strona kodowania pliku HTML ;)

html ISO-8859-2

wyxchodzi ze w bazie jest inne kodowanie ale w takim ukladzie dlaczego
poprzedni php pokazywal prawidlowo?

--
pozdrawiam >> KraseK
www.cell.pl
www.motoswiat.pl





Jacek - 15-03-2006 10:33

  the_foe napisał(a):

> Oytanie brzmi, czy uzywales jakis funkcji na stringach, typu strtolower
> ? Jesli nie to nie ma nic wspolnego. PHP i MySQL wypluwaja taki sami
> tekst jaki do niego wpisano. Chyba ze uzywales niektorych funkcji, wtedy
> musisz ustawic kodowanie poprawnie.

nie uzywalem zadnych tego typu funkcji...

--
pozdrawiam >> KraseK
www.cell.pl
www.motoswiat.pl




sqbie - 15-03-2006 10:33

  Jacek wrote:
> the_foe napisał(a):
>
>> Oytanie brzmi, czy uzywales jakis funkcji na stringach, typu
>> strtolower ? Jesli nie to nie ma nic wspolnego. PHP i MySQL wypluwaja
>> taki sami tekst jaki do niego wpisano. Chyba ze uzywales niektorych
>> funkcji, wtedy musisz ustawic kodowanie poprawnie.
>
>
> nie uzywalem zadnych tego typu funkcji...
>
>
>
Dodaj przed zapytaniem

mysql_query ("SET character_set_client=latin2;");
mysql_query ("SET character_set_results=latin2;");
mysql_query ("SET character_set_system=latin2;");
mysql_query("set names latin2");

--
Sqbie




Jacek - 15-03-2006 10:33

  sqbie napisał(a):

> Dodaj przed zapytaniem
>
> mysql_query ("SET character_set_client=latin2;");
> mysql_query ("SET character_set_results=latin2;");
> mysql_query ("SET character_set_system=latin2;");
> mysql_query("set names latin2");
>

dodalem zadzialalo.. ale czy to nie jest sztuczne obejscie problemu?

--
pozdrawiam >> KraseK
www.cell.pl
www.motoswiat.pl




the_foe - 15-03-2006 10:33

 
Użytkownik "Jacek" <jacekNOSPAM@cell.pl> napisał w wiadomości
news:dv3rsb$g7f$1@inews.gazeta.pl...
> sqbie napisał(a):
>
>> Dodaj przed zapytaniem
>>
>> mysql_query ("SET character_set_client=latin2;");
>> mysql_query ("SET character_set_results=latin2;");
>> mysql_query ("SET character_set_system=latin2;");
>> mysql_query("set names latin2");
>>
>
> dodalem zadzialalo.. ale czy to nie jest sztuczne obejscie problemu?

przemiel wynik przez to:
<?php

$znaki_win="\xA5\x8C\x8F\xB9\x9C\x9F";
$znaki_iso="\xA1\xA6\xAC\xB1\xB6\xBC";
$znaki_iso_wszystkie="\xA1 \xC6 \xCA \xA3 \xD1 \xD3 \xA6 \xAC \xAF \xB1 \xE6
\xEA \xB3 \xF1 \xF3 \xB6 \xBC \xBF";
$znaki_utf="\xC4\x84 \xC4\x86 \xC4\x98 \xC5\x81 \xC5\x83 \xC3\x93 \xC5\x9A
\xC5\xB9 \xC5\xBB \xC4\x85 \xC4\x87 \xC4\x99 \xC5\x82 \xC5\x84 \xC3\xB3 \xC5\x9B
\xC5\xBA \xC5\xBC";
function to_iso($txt)
{
//konwertuje tekst do iso
global $znaki_win, $znaki_iso;
return strtr($txt,$znaki_win,$znaki_iso);
}
function to_win($txt)
{
//konwertuje tekst do win
global $znaki_win, $znaki_iso;
return strtr($txt,$znaki_iso,$znaki_win);
}
function to_utf($txt)
{
//konwertuje tekst do utf-8
global $znaki_utf, $znaki_iso_wszystkie;
$arr1=explode(" ",$znaki_iso_wszystkie);
$arr2=explode(" ",$znaki_utf);
for ($i=0;$i<count($arr1);$i++){
$ae[$arr1[$i]]=$arr2[$i];
}
return strtr($txt,$ae);
}
function from_utf($txt)
{
//konwertuje polskie znaki w utf do iso
global $znaki_utf, $znaki_iso_wszystkie;
$arr1=explode(" ",$znaki_utf);
$arr2=explode(" ",$znaki_iso_wszystkie);
for ($i=0;$i<count($arr1);$i++){
$ae[$arr1[$i]]=$arr2[$i];
}
return strtr($txt,$ae);
}
?>




orcus - 15-03-2006 10:34

  On Mon, 13 Mar 2006 14:15:23 +0100, Jacek wrote:

> kodowanie bazy na utf8

wiec labo bedziesz sie bawil za kazdym razem w zmiane kodowania przy
wkladaniu/wyciaganiu danych albo ustawisz odpowiednie kodowanie dla calego
servera.

looknij do dokumentacji.

--
Pozdrawiam
orcus

..: Jest 10 rodzajow ludzi: Ci kotrzy rozumieja zapis binarny i pozostali :.




Artur Muszynski - 15-03-2006 10:35

  >>> Dodaj przed zapytaniem
>>>
>>> mysql_query ("SET character_set_client=latin2;");
>>> mysql_query ("SET character_set_results=latin2;");
>>> mysql_query ("SET character_set_system=latin2;");
>>> mysql_query("set names latin2");
>>>
>>
>> dodalem zadzialalo.. ale czy to nie jest sztuczne obejscie problemu?

Nie.
btw ostatnia linia powinna wystarczyć - tylko w ciapkach 'latin2'

>
> przemiel wynik przez to:
> <?php
[ciach kod]

laboga to dopiero "sztuczne obejście problemu"!

artur




the_foe - 15-03-2006 10:35

 
Użytkownik "Artur Muszynski" <arturm@union.wytnijto.com.pl> napisał w wiadomości
news:dv4d6s$qpk$1@213-238-68-241.adsl.inetia.pl...

> przemiel wynik przez to:
> <?php
[ciach kod]

laboga to dopiero "sztuczne obejście problemu"!

kazde jest sztuczne, bo wystarczy inputowac i wyswietlac w tym samym kodowaniu.




=?ISO-8859-2?Q?=A3ukasz_Dywicki?= - 15-03-2006 10:35

  the_foe napisał(a):
>
> Użytkownik "Jacek" <jacekNOSPAM@cell.pl> napisał w wiadomości
> news:dv3rsb$g7f$1@inews.gazeta.pl...
>> sqbie napisał(a):
>>
>>> Dodaj przed zapytaniem
>>>
>>> mysql_query ("SET character_set_client=latin2;");
>>> mysql_query ("SET character_set_results=latin2;");
>>> mysql_query ("SET character_set_system=latin2;");
>>> mysql_query("set names latin2");
>>>
>>
>> dodalem zadzialalo.. ale czy to nie jest sztuczne obejscie problemu?
>
> przemiel wynik przez to:
[ciach]

Hm.. nie widze najmniejszego sensu na tworzenie takich zawilych i
brzydkich funkcji (nienajlepsze wykorzystanie explode) gdy istnieje cos,
co jest lekarstwem na takie problemy - mianowicie funkcja iconv. Jest
rowniez rozszezenie mb_string..




the_foe - 15-03-2006 10:35

 
Użytkownik "Łukasz Dywicki" <splatch@gazeta.pl> napisał w wiadomości
news:dv4g9k$mfl$2@inews.gazeta.pl...
> the_foe napisał(a):
>>
>> Użytkownik "Jacek" <jacekNOSPAM@cell.pl> napisał w wiadomości
>> news:dv3rsb$g7f$1@inews.gazeta.pl...
>>> sqbie napisał(a):
>>>
>>>> Dodaj przed zapytaniem
>>>>
>>>> mysql_query ("SET character_set_client=latin2;");
>>>> mysql_query ("SET character_set_results=latin2;");
>>>> mysql_query ("SET character_set_system=latin2;");
>>>> mysql_query("set names latin2");
>>>>
>>>
>>> dodalem zadzialalo.. ale czy to nie jest sztuczne obejscie problemu?
>>
>> przemiel wynik przez to:
> [ciach]
>
> Hm.. nie widze najmniejszego sensu na tworzenie takich zawilych i brzydkich
> funkcji (nienajlepsze wykorzystanie explode) gdy istnieje cos, co jest
> lekarstwem na takie problemy - mianowicie funkcja iconv. Jest rowniez
> rozszezenie mb_string..

funkcje te nei sa wbudowane i nie masz pewnosci czy to co piszesz bedzie Ci
dzialac gdzie indziej. A eplode jest wykorzystane dobzre - p oco robic
przepastnego arraya ktorego mozne sobie skonstruuowac w locie?




=?ISO-8859-2?Q?=A3ukasz_Dywicki?= - 15-03-2006 10:36

  the_foe napisał(a):
>
> Użytkownik "Łukasz Dywicki" <splatch@gazeta.pl> napisał w wiadomości
>> the_foe napisał(a):
>>>
>>> Użytkownik "Jacek" <jacekNOSPAM@cell.pl> napisał w wiadomości
>>> news:dv3rsb$g7f$1@inews.gazeta.pl...
>>>> sqbie napisał(a):
>>>>
>>>>> Dodaj przed zapytaniem
>>>>>
>>>>> mysql_query ("SET character_set_client=latin2;");
>>>>> mysql_query ("SET character_set_results=latin2;");
>>>>> mysql_query ("SET character_set_system=latin2;");
>>>>> mysql_query("set names latin2");
>>>>>
>>>>
>>>> dodalem zadzialalo.. ale czy to nie jest sztuczne obejscie problemu?
>>>
>>> przemiel wynik przez to:
>> [ciach]
>>
>> Hm.. nie widze najmniejszego sensu na tworzenie takich zawilych i
>> brzydkich funkcji (nienajlepsze wykorzystanie explode) gdy istnieje
>> cos, co jest lekarstwem na takie problemy - mianowicie funkcja iconv.
>> Jest rowniez rozszezenie mb_string..
>
> funkcje te nei sa wbudowane i nie masz pewnosci czy to co piszesz bedzie
> Ci dzialac gdzie indziej. A eplode jest wykorzystane dobzre - p oco
> robic przepastnego arraya ktorego mozne sobie skonstruuowac w locie?

Funkcje iconv są bardzo przydatne i we większości przypadków są
dostępne. Ja od 2 lat nie spotkałem się z sytuacją, gdzie nie ma iconv.
Jest to biblioteka wkomponowana w linuksa, także nie wymaga wiele od
administratora..
Nie jest to wątek do dyskusji na temat użycia explode dlatego krótko -
narzut czasowy z explode jest bardzo duży (w stosunku do wykorzystania
gotowej tablicy), dodatkowo wykorzystujesz globals i przy każdym
wywołaniu funkcji wywołujesz explode.. gratulacje.




the_foe - 15-03-2006 10:36

 
Użytkownik "Łukasz Dywicki" <splatch@gazeta.pl> napisał w wiadomości
news:dv5rq1$3hh$1@inews.gazeta.pl...

> Nie jest to wątek do dyskusji na temat użycia explode dlatego krótko - narzut
> czasowy z explode jest bardzo duży (w stosunku do wykorzystania gotowej
> tablicy), dodatkowo wykorzystujesz globals i przy każdym wywołaniu funkcji
> wywołujesz explode.. gratulacje.

przy takiej ilosci tekstu nie ma znaczenie czasochlonnosc.
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [mysql/php] jak =?ISO-8859-2?Q?zliczy=E6_ilo=B6=E6_unikalnyc?==?ISO-8859-2?Q?h_rekord=F3w_w_jednym_zapytaniu=3F?= Delphi for PHP Borlanda - co =?ISO-8859-2?Q?s=B1dzicie_o_tym?==?ISO-8859-2?Q?_pakiecie=3F?= mysql+php - =?ISO-8859-2?Q?wydajno=B6=E6_przy_olbrzymiej_i?==?ISO-8859-2?Q?lo=B6ci_rekord=F3w?= [MySQL] Jakie kodowanie aby =?ISO-8859-2?Q?by=B3y_i_pl_ogo?==?ISO-8859-2?Q?nki_i_o_z_dwoma_kropkami_nad_nim_=3F_=3B?==?IS O-8859-2?Q?=29?= [MySQL] - Wstawianie aktualnej daty do bazy danych - PHP i MySQL Jedno zapytanie różne wyniki w polu data [mysql i mysql+php] [MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną Firebird - zmiana NULL na NOT NULL Zmiana koloru tekstu i/lub =?ISO-8859-2?Q?t=B3a_w_pojedyncze?==?ISO-8859-2?Q?j_kom=F3rce_DBGrid?= [pgsql] Zmiana schematu do =?ISO-8859-2?Q?kt=F3rego_nalezy_o?==?ISO-8859-2?Q?biekt=2E?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • tejsza.htw.pl
  • Cytat

    Decede mihi sole - nie zasłaniaj mi słonca.
    Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści
    Hoc fac - tak czyń.
    A tergo - od tyłu; z tyłu.
    I czarne włosy posiwieją. Safona

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com