-
ANSIOEM: Conversió o marcatge del joc de caràcters en fitxers ANSI (Windows), OEM (DOS) o UTF-8
Accés a aquest text d'ajuda com a pàgina web: ANSIOEM
Presentació i opcions
Degut a la gran diversitat de lletres que hi ha en els diferents idiomes del món, a la necessitat d'escriure símbols especials, i a la pròpia història de la informàtica, s'ha utilitzat diferents jocs de caràcters en diferents països i sota diferents sistemes operatius. Com a resultat d'això, és freqüent que veiem caràcters estranys, per exemple quan llegim amb un editor de text pla, com la llibreta (bloc de notes) del Windows, un text creat amb un editor de text pla d'un altre sistema operatiu, com ara l'EDIT de l'antic MS-DOS.
Aquest problema també el podem trobar en les bases de dades, en les quals hi ha camps de tipus text en què els continguts han estat escrits d'acord amb algun dels diversos jocs de caràcters existents. En el cas concret de les bases de dades en format DBF hi ha una marca interna que, si està activada (valor més gran que zero), ens indica en quin joc de caràcters estan escrits els textos, amb la qual cosa és possible interpretar-los correctament.
Aquest programa té diverses opcions:
Conversió ANSI-OEM-UTF8:
Converteix fitxers de text pla o en format DBF entre els jocs de caràcters ANSI (Windows), OEM-850 (DOS) i/o UTF-8, amb la qual cosa és possible visualitzar-los i editar-los correctament tant des d'editors Windows (com el bloc de notes) com MS-DOS (com l'EDIT).
Marcar ANSI-OEM-UTF8:
Per al cas dels fitxers DBF, el programa permet marcar el joc de caràcters de fitxers en format DBF com a OEM-850 (DOS), ANSI, UTF-8 o d'altres jocs. Això resulta especialment útil quan es tracta de fitxers sense marcatge específic (marcats amb el joc 0), la qual cosa és habitual en arxius creats amb versions antigues de dBASE o que provenen de software que genera fitxers DBF sense especificar cap joc de caràcters en concret. Cal recordar, però, que marcar una taula DBF com a pertanyent a un cert joc de caràcters NO vol dir convertir-la sinó simplement indicar com s'ha d'interpretar.
Molts caràcters són transformables entre jocs diferents; per exemple tant el joc OEM-850 de l'MS-DOS, l'ANSI 1252 del Windows com l'UTF-8 contenen totes les lletres majúscules i minúscules accentuades. Tanmateix, alguns caràcters només existeixen en alguns jocs; per exemple, el símbol de marca registrada (TM), que en la taula ANSI 1252 es pot representar amb un sol caràcter volat, no té representació en la taula OEM-850. En aquests darrers casos la conversió no és possible i cal posar un caràcter substitut arbitrari que ens indicarà que en la traducció el joc de destí no té cap caràcter prou semblant al caràcter en el joc original.
Atenció: mai s'ha de convertir un fitxer que no sigui de text pla o DBF o es corromprà el seu contingut. Exemples de fitxers de text pla són els REL i MMM del MiraMon, els fitxers TXT, BAT, etc.
Notes:
- Jocs ANSI: El programa utilitza el joc de caràcters 1252 del Windows, corresponent a Europa Occidental i els Estats Units d'Amèrica. En el cas dels fitxers DBF el programa els marca amb el valor 88 (0x58), que en dBASE correspon a 'WEurope ANSI'.
Algunes marques possibles per a ANSI en taules DBF són:
'ascii ANSI' 87 (0x57) (dBASE)
'WEurope ANSI' 88 (0x58) (dBASE) [defecte del programa]
'Spanish ANSI' 89 (0x59) (dBASE)
'FoxPro ANSI' 3 (0x03) (FoxPro)
Per a marcar una taula d'acord amb un d'aquests jocs cal indicar el valor numèric decimal (per exemple 3 per a FoxPro ANSI). MiraMon i MiraDades reconeixen totes aquestes marques.
- Jocs OEM: El programa utilitza el joc de caràcters OEM-850 DOS, també anomenat "Latin 1" i extensament usat a molts països del món per la seva riquesa en caràcters accentuats. En el cas dels fitxers DBF el programa els marca amb el valor 20 (0x14), que en dBASE correspon a 'dbSPANISH2 dBASEESPcp850'.
Algunes marques possibles per a OEM-850 en taules DBF són:
'dbDUTCH2 dBASENLDcp850' 10 (0x0A) (dBASE)
'dbFRENCH2 dBASEFRAcp850' 14 (0x0E) (dBASE)
'dbFRENCHCAN2 dBASEFRCcp850' 29 (0x1D) (dBASE)
'dbGERMAN2 dBASEDEUcp850' 16 (0x10) (dBASE)
'dbITALIAN2 dBASEITAcp850' 18 (0x12) (dBASE)
'dbPORTUGUESE2 dBASEPTBcp850' 37 (0x25) (dBASE)
'dbSPANISH2 dBASEESPcp850' 20 (0x14) (dBASE) [defecte]
'dbSWEDISH2 dBASESVEcp850' 22 (0x16) (dBASE)
'dbUK2 dBASEENGcp850' 26 (0x1A) (dBASE)
'dbUS2 dBASEENUcp850' 55 (0x37) (dBASE)
'FoxPro OEM-850' 2 (0x02) (FoxPro)
Per a marcar una taula d'acord amb un d'aquests jocs cal indicar el valor numèric decimal (per exemple 14 per a FRENCH2). MiraMon i MiraDades reconeixen totes aquestes marques.
- Jocs UTF-8: El programa utilitza el joc de caràcters UTF-8 (8-bit Unicode Transformation Format), extensament usat a molts països del món perquè pot representar qualsevol caràcter Unicode (que defineix cada caràcter o símbol mitjançant un nom i identificador numèric). En el cas dels fitxers DBF el programa genera un fitxer adjunt que informa de que la DBF està codificada en aquest joc de caràcters.
- Quan es marca amb un nou joc de caràcters el programa informa de quin era el valor previ.
- Per a conèixer quin valor té la marca d'un fitxer DBF es pot utilitzar el menú Informació del MiraDades.
Caixa de diàleg de l'aplicació
|
Caixa de diàleg de l'ANSIOEM. |
Exemples
ANSIOEM C:\COPIA\LLEGEIX.TXT D:\LLEGEIX.TXT 1
ANSIOEM C:\COPIA\LLEGEIX.TXT D:\LLEGEIX.TXT 1
ANSIOEM C:\BASES\COMAR.DBF A:\COMAR 3
ANSIOEM C:\BASES\MUNICIP ANSI
ANSIOEM C:\BASES\MUNICIP 5
ANSIOEM C:\BASES\COMAR.DBF A:\COMAR_EN_UTF8.DBF 5
|
Exemples de l'aplicació de l'ANSIOEM. |
Sintaxi
Sintaxi:
- ANSIOEM FitxerOrigen FitxerResultat Mode [Substitut]
- ANSIOEM FitxerDBF JocCarac
Paràmetres:
- FitxerOrigen
(Fitxer Origen -
Paràmetre d'entrada): És el nom del fitxer origen amb extensió. Si l'extensió és DBF només es traduirà el contingut dels camps de tipus 'C'. Les altres extensions es tracten com a fitxers de text i es tradueixen sencers.
- FitxerResultat
(Fitxer Resultat -
Paràmetre de sortida): És el nom de fitxer de destí. Es pot indicar sense extensió i el programa l'afegeix.
- Mode (Paràmetre d'entrada):
- 0 ANSI -> OEM-850 (conversió de Borland).
- 1 ANSI -> OEM-850 (adaptació Semi-Estricta X. Pons - Recomanada).
- 2 ANSI -> OEM-850 (adaptació Estricta X. Pons).
- 3 OEM-850 -> ANSI (conversió de Borland).
- 4 ANSI -> UTF-8.
- 5 OEM-850 (conversió de Borland) -> UTF-8.
- 6 UTF-8 -> ANSI.
- 7 UTF-8 -> OEM-850 (conversió de Borland).
- Substitut (Paràmetre d'entrada): És el caràcter usat per a omplir els caràcters no convertibles (p.ex.: "X", "_"). Vàlid només en els modes 1 i 2. Si no s'indica es demanarà.
- FitxerDBF
(Fitxer DBF -
Paràmetre d'entrada): És el nom del fitxer origen DBF. Només es traduirà el contingut dels camps de tipus 'C'. Les altres extensions es tracten com a fitxers de text i es tradueixen sencers.
- JocCarac
(Joc de Caràcters -
Paràmetre d'entrada): Joc de caràcters amb el qual voleu marcar el fitxer:
- ANSI
- OEM-850
- UTF-8
- qualsevol valor decimal [0,255]
Borland, dBASE, DOS, FoxPro i Windows són marques registrades dels seus respectius propietaris.