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