MySQL nechce vytvorit databasi s obsahem v latin2
Petr Vileta
stoupa na practisoft.cz
Úterý Listopad 9 02:15:18 CET 2004
> Jak se to řeší v MySQL 4.0.X (když potřebuji používat pro některé
> databáze latin2 a pro jiné cp1250)?
No uplne stejne, jako v MySQL 3.x, totiz nijak :-) Do databaze si muzete
nacpat cokoliv, ono se to nijak neupravuje. Jen v programech nebo skriptech,
ktere tam ukladaji nebo naopak ctou, si musite tu konverzi delat sam.
Takze napriklad ja pouzivam MySQL 3.23.54 (na linuxu) a cpu do ni z Windows
nebo z weboveho formulare Perlem data v CP1250, protoze vetsina navstevniku
jsou windozaci. Pokud nahodou potrebuju vystup v iso-8959-2, tak musim v
Perlu volat prekladovou funkci a teprve potom z toho generovat html kod.
Ta funkce vypada takhle, ale myslim ze tam 2-3 znaky chybi (slovenske).
sub wintoiso
{
my $vstup=$_[0];
my $xxr = '';
my $xxx = '';
for (my $xxq=0; $xxq < length($vstup); $xxq++)
{
$xxx = ord(substr($vstup,$xxq,1));
if ($xxx == 154) # s-hacek
{
$xxr = $xxr . chr(185);
}
elsif ($xxx == 157) # t-hacek
{
$xxr = $xxr . chr(187);
}
elsif ($xxx == 138) # S-hacek
{
$xxr = $xxr . chr(169);
}
elsif ($xxx == 141) # T-hacek
{
$xxr = $xxr . chr(171);
}
elsif ($xxx == 158) # z-hacek
{
$xxr = $xxr . chr(190);
}
elsif ($xxx == 142) # Z-hacek
{
$xxr = $xxr . chr(174);
}
else
{
$xxr = $xxr . chr($xxx);
}
}
return $xxr;
}
--
Petr
Na mail uvedeny v headeru zpravy nema cenu nic posilat, konci to v PR* :-)
Odpovidejte na petr na practisoft cz
Další informace o konferenci Linux