Problem med kyrilliska tecken 4D -> MySQL

Tråden skapades och har fått 3 svar. Det senaste inlägget skrevs .
1
  • Oregistrerad
  • 2006-11-23 17:42

Så här är det:
Jag har en DB under OS 9 gjord i 4D. Databasen innehåller bl a en tabell med artiklar. Artikeltabellen i sin tur innehåller ett fält med artikelns namn på ryska.

För att lösa det i 4D måste det finnas kyrilliska typsnitt i systemmappens typsnittsmapp, vidare anger man i 4D vilket typsnitt som önskas, i detta fall anges ett kyrilliskt typsnitt. Detta fungerar bra.

Nu behöver jag exportera tabellen till en MySQL databas. Nu får jag problem, inge kyrilliska tecken här inte. Förmodligen går det fel redan vid skapandet av textfilen (exporten från 4D).

Nu kan jag inte det här med kaollitioneringar i MySQL men har prövat med de flesta känns det som.

Att skriva in kyrilliska tecken i ett fält (PHP, MySQL och Safari) genom att byta till Ryska i OS X går alldeles utmärkt.

Mn för att slippa översätt 2000 artikelnamn känns måttligt roligt, inte minst då jag inte behärska ryska.

Vad tror ni? Är det möjligt?

  • Medlem
  • Kiruna
  • 2006-11-23 17:56

Om de ryska texterna följer en rysk teckenuppsättning (OBS! inte samma sak som typsnitt) så är det relativt enkelt att konvertera den till exempelvis UTF-8. Ett sätt är exportera datan till en textfil och att sen använda iconv:

iconv -f MACCYRILLIC -t UTF-8 inputfile.txt > outputfile.txt

MACCYRILLIC är inte den enda ryska teckenuppsättningen som finns (andra exempel är CYRILLIC (ISO-8859-5) och CP1251), så det kanske kräver ytterligare efterforskning.

  • Oregistrerad
  • 2006-11-23 18:30

Tack för snabbt svar!

Det ska testas, hade inte en aning om att något som iconv fanns installerat. Testade på en textfil och visst den ändrades. Ska senare kolla med den riktiga filen, men teckenuppsättning eller typsnitt vet jag inte riktigt.
Jag tror som sagt att man bara bytt till ett kyrilliskt typsnitt(Times_NR_Cyr_MT) i just det fält där man önskat ryska.

  • Medlem
  • Kiruna
  • 2006-11-23 18:40

Det troliga är väl ändå att det typsnittet du nämnde är kodat efter nån specifik rysk, 8-bitars teckenuppsättning, annars blir det minst sagt bökigt.

Det bör ju inte vara så svårt att kontrollera: gör en konvertering till UTF-8 och titta sen på resultatet med ett UNICODE-typsnitt (som innehåller även kyrilliska tecken) och avgör visuellt om resultatet är det samma som i 4D med det kyrilliska typsnittet. (För extra säkerhet kan man ju be någon ryskläsande göra detta.) Stämmer det inte är det förmodligen fel teckenuppsättning som antagits för källfilen.

1
Bevaka tråden