Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> Jak zmienic kodowanie z DOS na WINOWS???
geminek
post 6.09.2003, 12:13:58
Post #1





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


Ech... Mam magazynowy program DOSowy, z ktorego zaimportowalem dane do bazy danych MS SQL Serwer 2000. Mam tez taki sam program, tyle ze Windowsowy (po prostu nowsza wersja), oparty na tym wlasnie serwerze SQL. Po zaimportowaniu ten program z Windowsa dziala dobrze. Pokazuje polskie znaki tak jak powinien.
Jednak gdy zrobilem w php sklep i cennik oparty o serwer SQL okazalo sie, ze zamiast polskich znaczkow mam jakies "krzaczki".
Probowalem juz podmieniac je za pomoca instrukcji
strreplace(),
ale dziala tylko z niektorymi polskimi znakami. sad.gif

Stad moje pytanie: czy macie moze jakis "uniwersalny" skrypcik, ktory mi pomoze?questionmark.gif
Bardzo prosze o jakas pomoc, bo nie wiem juz co mam zrobic, a szef (oczywiscie) chce jak najszybciej zobaczyc efekt!!! biggrin.gif
Go to the top of the page
+Quote Post
adwol
post 6.09.2003, 12:28:46
Post #2





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
Stad moje pytanie: czy macie moze jakis "uniwersalny" skrypcik, ktory mi pomoze?questionmark.gif

Pod DOSem to najczęściej były używane standardy CP852 i Mazovia.
Spróbuj dla Mazovii:
[php:1:a11e877ba7]<?php
$tekst = strtr($tekst, "x8fx95x90x9cxa5xa3x98xa0xa1x86x8dx91x92xa4
xa2x9exa6xa7", "xa5xc6xcaxa3xd1xd3x8cx8fxafxb9xe6xeaxb3xf1xf3
x9cx9fxbf");
?>[/php:1:a11e877ba7]
lub dla CP852:
[php:1:a11e877ba7]<?php
$tekst = strtr($tekst, "xa4x8fxa8x9dxe3xe0x97x8dxbdxa5x86xa9x88xe4
xa2x98xabxbe", "xa5xc6xcaxa3xd1xd3x8cx8fxafxb9xe6xeaxb3xf1xf3
x9cx9fxbf");
?>[/php:1:a11e877ba7]
Go to the top of the page
+Quote Post
geminek
post 13.09.2003, 09:37:00
Post #3





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


Cytat
Pod DOSem to najczęściej były używane standardy CP852 i Mazovia.
Spróbuj dla Mazovii:
[php:1:71fb61cd6b]<?php
$tekst = strtr($tekst, "x8fx95x90x9cxa5xa3x98xa0xa1x86x8dx91x92xa4
xa2x9exa6xa7", "xa5xc6xcaxa3xd1xd3x8cx8fxafxb9xe6xeaxb3xf1xf3
x9cx9fxbf");
?>[/php:1:71fb61cd6b]
lub dla CP852:
[php:1:71fb61cd6b]<?php
$tekst = strtr($tekst, "xa4x8fxa8x9dxe3xe0x97x8dxbdxa5x86xa9x88xe4
xa2x98xabxbe", "xa5xc6xcaxa3xd1xd3x8cx8fxafxb9xe6xeaxb3xf1xf3
x9cx9fxbf");
?>[/php:1:71fb61cd6b]


Jest OK... No, prawie OK. Okazuje się, że w moim przypadku jest to CP852.
Mam już polskie znaki... ale oprócz: ą, Ą, ł, Ś, ś, ż, Ź.
Czy może wiesz/wiecie co mogę dopisać w tym skrypcie, żeby i one mi się dobrze wyświetlały?
Aha, jeszcze jedno. W źródle strony są polskie znaki i jak wyrzuciłem z sekcji HEAD HTMLa linijke, w której było ustawione kodowanie, prawie wszystkie znaki mi się już wyświetlają.
Nie mam tylko chyba ż i ś.
O co tu chodzi? I czy (a raczej jak) można zrobić, by wyświetlały mi się wszystkie polskie znaki?
:?
Go to the top of the page
+Quote Post
adwol
post 13.09.2003, 10:09:38
Post #4





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
Jest OK... No, prawie OK. Okazuje się, że w moim przypadku jest to CP852.
Mam już polskie znaki... ale oprócz: ą, Ą, ł, Ś, ś, ż, Ź.
Czy może wiesz/wiecie co mogę dopisać w tym skrypcie, żeby i one mi się dobrze wyświetlały?

Co znaczy, że Ci się źle wyświetlają znaki ą, Ą, ł, Ś, ś, ż, Ź? Jeśli masz CP852 to podany przeze mnie kod konwertuje Ci wszystkie polskie litery. Pokaż kontekst w jakim to robisz.
Cytat
Aha, jeszcze jedno. W źródle strony są polskie znaki i jak wyrzuciłem z sekcji HEAD HTMLa linijke, w której było ustawione kodowanie, prawie wszystkie znaki mi się już wyświetlają.

Jeśli chodzi o HTML, to używaj kodowania ISO-8859-2, a nie CP1250.
Go to the top of the page
+Quote Post
geminek
post 13.09.2003, 13:48:10
Post #5





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


No właśnie używam ISO-8859-2! I z tym kodowaniem np. zamiast Ś mam ˆ (kwadracik). A jak wyrzucę kodowanie ze źródła to mam o wiele mnie problemów z polskimi znakami. I mam Ś! Ale nie mam innych. Np. zamiast ż mam spację.
rolleyes.gif
Go to the top of the page
+Quote Post
geminek
post 16.09.2003, 16:30:43
Post #6





Grupa: Zarejestrowani
Postów: 28
Pomógł: 0
Dołączył: 16.05.2003

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


:oops: :oops: :oops:
Ooo!
Wielkie SORKI Was wszystkich!
Sprawdziłem dlaczego się tak dzieje! O matko! Ale ja jezdem guupi!
smile.gif
Ech... Po prostu miałem przed końcem kodu ENTERka, który powodował wcześniejszy koniec skryptu! A niezauważyłem tego, bo w tym samym miejscu, gdzie był ów ENTERek, kończy mi się ekran i myślałem, że program sam mi tak łamie wiersze...
:?
Wszystko jest wpożądku! Działa idealnie!
Dzięki za pomoc i soraski za zamieszanie!!!
laugh.gif
Go to the top of the page
+Quote Post
matic
post 24.09.2003, 11:42:15
Post #7





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 21.07.2003

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


A mi mimo "sklejenia" powyzszego kodu nadal nie dziala tak jak powinno. Tzn., nadal nie konwertuje znaków z którymi miał problem gaminek, czyli ą...
Go to the top of the page
+Quote Post
matic
post 24.09.2003, 23:44:26
Post #8





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 21.07.2003

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


ale po drobnych (3) poprawkach zmienia ś Ś ą Ą na odpowiednie znaki. Dziwie się, że wszystko Wam działało...

[php:1:e4e351752a]<?php
$str = strtr($str, "xa4x8fxa8x9dxe3xe0x97x8dxbdxa5x86xa9x88xe4xa2x98xabxbe", "xa1xc6xcaxa3xd1xd3xa6x8fxafxb1xe6xeaxb3xf1xf3x9cx9fxbf");
?>[/php:1:e4e351752a]
Go to the top of the page
+Quote Post
adwol
post 25.09.2003, 14:50:30
Post #9





Grupa: Zarejestrowani
Postów: 691
Pomógł: 0
Dołączył: 6.08.2003

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


Cytat
ale po drobnych (3) poprawkach zmienia ś Ś ą Ą na odpowiednie znaki. Dziwie się, że wszystko Wam działało...

Działało prawidłowo. Oryginalne pytanie nie precyzowało na jaki standard ma być ten tekst zamieniany. Ponieważ wspomniane było, że sytuacja dzieje się pod Windowsem założyłem, że chodzi o standard CP1250. Ty podałeś konwersję do standardu którego nie ma (chyba to miał być ISO-8859-2, ale są w tej konwersji błędy).

Konwersja CP852 -> ISO-8859-2:
[php:1:61a6ee7165]<?php
$str = strtr($str, "xa4x8fxa8x9dxe3xe0x97x8dxbdxa5x86xa9x88xe4xa2x98xabxbe", "xa1xc6xcaxa3xd1xd3xa6xacxafxb1xe6xeaxb3xf1xf3xb6xbcxbf");
?>[/php:1:61a6ee7165]
Go to the top of the page
+Quote Post
matic
post 25.09.2003, 19:08:02
Post #10





Grupa: Zarejestrowani
Postów: 12
Pomógł: 0
Dołączył: 21.07.2003

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


Zwróć uwagę na poniższy link. Jest tam też tabela z ISO 8859-2, wg. poprawiłem kilka znaków, ktore u mnie były początkowo krzaczkami.

http://www.wszpwn.com.pl/i10/znaki1/ch06.htm
Go to the top of the page
+Quote Post

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: 15.06.2025 - 01:55