ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

This content has been translated automatically.  Click here  to view the French version.
Help / WLanguage / WLanguage functions / Controls, pages and windows / Multilingual functions
  • Overview
  • Defining the character set of a data file
  • Defining the character set used by a data file
  • Notes and limitations
  • Example: Creating a data file in Hebrew
  • Changing the character set of a data file
  • Modifying the character set used for the searches and for the sorts
  • Finding out the character set of a data file
  • How to?
  • Example: Changing the fonts according to the character set of the data file read
WINDEV
WindowsLinuxJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadIOS WidgetApple WatchMac Catalyst
Others
Stored procedures
Overview
When an application displays or saves data in HFSQL data files, this data is typed in the current language.
If the application is used in a country that uses a Latin character set, no specific configuration is required.
If the application is used in a country that uses a specific character set, this character set must also be supported by the data files. Therefore, most of the operations (searches, sorts, ...) will be performed according to the selected character set.
Defining the character set of a data file

Defining the character set used by a data file

To define the character set used by a data file:
  1. Define the character set with ChangeCharset.
  2. Create the data file with HCreation (or HCreationIfNotFound). In these functions, use the hChangeCharset constant to take into account the character set specified by ChangeCharset.
All the functions used to perform sorts and searches will use the specific features of the selected character set.

Notes and limitations

  • The size of string items specified in the analysis is expressed in bytes and not in characters. Depending on the character set used, you may have to increase the item size (if the characters used are coded on 2 bytes for example).
  • The character set of the data file must always be identical to the character set specified by ChangeCharset. Otherwise, when accessing a string index (string, character, date, time):
    • Reading and searching for a record: no error will be displayed. However, the data read will not correspond to the expected data.
    • Modifying a record (addition, modification, deletion of records or crossed records): a WLanguage error will be displayed.
  • No query with joins can be performed on text items that use different character sets.
  • The sort order in HFSQL indexes ignores double letters (e.g., "CH" in Spanish or "LJ" in Croatian).
  • HFSQL Client/Server In HFSQL Client/Server, only the sort order for the following languages is managed: French, Arabic, Chinese, Korean, Estonian, Greek, Hebrew, Japanese, Polish, Russian, Thai, Turkish and Vietnamese.

Example: Creating a data file in Hebrew

// Langue utilisée dans l'application : l'Hébreu
Nation(nationHebrew)
// Changement d'alphabet
ChangeCharset(charsetHebrew)
// Création du fichier de données 
// avec prise en compte du changement d'alphabet
HCreation(Azaa, "", "", "", hChangeCharset)
// Saisie d'un enregistrement
Azaa.toto = "ñéâëðéçìòëðâëêðéò"
HAdd(Azaa)
Changing the character set of a data file
In some cases, you may want to change the character set of a data file without recreating this file. For example:
  • a data file was translated.
  • a data file is filled when installing an application with the data corresponding to the setup language.
  • ...

Modifying the character set used for the searches and for the sorts

To modify the character set used for the searches and for the sorts:
  1. Specify the character set to use with ChangeCharset.
  2. Re-index the data file with HIndex. Use the hChangeCharset constant to use the character set specified by ChangeCharset.
Finding out the character set of a data file

How to?

To identify the character set used by a data file, use the Charset property on the desired HFSQL data file.

Example: Changing the fonts according to the character set of the data file read

HOpen(Customer)
FileLanguage is int = Customer.Charset
// Changes the character set according to the data file format
SWITCH FileLanguage
	CASE alphabetArabic: ChangeCharset(alphabetArabic)
	CASE defaultAlphabet: ChangeCharset(defaultAlphabet)
	CASE alphabetGreek: ChangeCharset(alphabetGreek)
	CASE alphabetHebrew: ChangeCharset(alphabetHebrew)
	CASE charsetOccidental: ChangeCharset(charsetOccidental)
	CASE RussianAlphabet: ChangeCharset(RussianAlphabet)
	CASE alphabetTurkish: ChangeCharset(alphabetTurkish)
	OTHER CASE
		// Switch to western character set
	  	ChangeCharset(charsetOccidental)
END
Minimum version required
  • Version 9
This page is also available for…
Comments
Click [Add] to post a comment

Last update: 04/03/2025

Send a report | Local help