Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Kodowanie ISO-8859-2 i bledy przy niektorych znakach

34 views
Skip to first unread message

Przemyslaw Kempinski

unread,
Oct 26, 2011, 4:34:19 AM10/26/11
to
Witam,

Stronka jest kodowana w ISO-8859-2, w bazie danych metoda porownywania
napisow jest latin2_general_ci, przed polaczeniem z baza danych
przekazuje SET NAMES latin2, ale po upgradzie Mysql (tak mi sie
wydaje) otrzymuje taki komunikat przy niektorych znakach (np.
cudzyslow otwierajacy, apostrof, czy pauza).

Mysql wypluwa taki komunikat:
Warning: #1366 Incorrect string value: '\xE2\x80\x93

czy ktos wie jak temu zaradzic?


--
Przemyslaw Kempinski

Borys Pogoreło

unread,
Oct 26, 2011, 6:34:44 AM10/26/11
to
Dnia Wed, 26 Oct 2011 10:34:19 +0200, Przemyslaw Kempinski napisał(a):

> Stronka jest kodowana w ISO-8859-2, w bazie danych metoda porownywania
> napisow jest latin2_general_ci, przed polaczeniem z baza danych
> przekazuje SET NAMES latin2, ale po upgradzie Mysql (tak mi sie
> wydaje) otrzymuje taki komunikat przy niektorych znakach (np.
> cudzyslow otwierajacy, apostrof, czy pauza).

Takich znaków nie ma w ISO-8859-2, więc baza marudzi.

> czy ktos wie jak temu zaradzic?

Przepuść to przez iconv z translit albo zamień na encje.

--
Borys Pogoreło
borys(#)leszno,edu,pl

Przemyslaw Kempinski

unread,
Oct 28, 2011, 10:42:42 AM10/28/11
to
Dnia Wed, 26 Oct 2011 12:34:44 +0200, Borys Pogoreło
<bo...@pl.edu.leszno> napisał(a):


>
> Przepuść to przez iconv z translit albo zamień na encje.

Okay, jak juz jestesmy przy znkach to mam jeszcze jedno pytanko.
Stronka jest kodowana w iso-8859-2. Przez cmsa sa wrzucane artykuly na
strone. Jezeli w artykule znajduje sie cudzysłów to jest on zamieniany
na &#8221; i tak sobie lezy w bazie danych, ale jak rozwiazac problem,
kiedy userowi zechce sie skopiowac kawalek tekstu i ponownie wrzucic
go w komentarzu- wtedy znak & jest zamienioany na &amp; i sie sypie
tzn. w komentarzu zamiast cudzyslowia jest jego numer #8221;.


--
Przemyslaw Kempinski

Adam Byrtek

unread,
Oct 28, 2011, 3:18:13 PM10/28/11
to
On 10/28/2011 04:42 PM, Przemyslaw Kempinski wrote:
> Okay, jak juz jestesmy przy znkach to mam jeszcze jedno pytanko.
> Stronka jest kodowana w iso-8859-2. Przez cmsa sa wrzucane artykuly na
> strone. Jezeli w artykule znajduje sie cudzysłów to jest on zamieniany
> na&#8221; i tak sobie lezy w bazie danych, ale jak rozwiazac problem,
> kiedy userowi zechce sie skopiowac kawalek tekstu i ponownie wrzucic
> go w komentarzu- wtedy znak& jest zamienioany na&amp; i sie sypie
> tzn. w komentarzu zamiast cudzyslowia jest jego numer #8221;.

Mamy XXI wiek, pora przejść na UTF-8. Poza tym zasada jest prosta,
escaping powinien odbywać się jak najbliżej wyjścia. To znaczy w bazie
przechowujesz cudzysłowy Unicode, a w razie potrzeby HTML encoding
robisz dopiero wysyłając tekst do przeglądarki. To daje dużo większą
elastyczność, bo zawartość bazy nie jest przywiązana do konkretnego
formatu wyjściowego.

--
Adam Byrtek
0 new messages