diff --git a/htdocs/langs/en_US/admin.lang b/htdocs/langs/en_US/admin.lang
index 09c62769b8b6616cd14317bb54bf37f42f86ef9f..224160a1aa6bb58f2a5720070f9b30fa255282b9 100644
--- a/htdocs/langs/en_US/admin.lang
+++ b/htdocs/langs/en_US/admin.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - admin
+CHARSET=ISO-8859-1
 Version=Version
 VersionProgram=Version program
 VersionLastInstall=Version initial install
diff --git a/htdocs/langs/en_US/agenda.lang b/htdocs/langs/en_US/agenda.lang
index a965088c8f17ec98fa203f6656769727f9c73a59..1cd93e2e8185099fc82570db064c938650b1086d 100644
--- a/htdocs/langs/en_US/agenda.lang
+++ b/htdocs/langs/en_US/agenda.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - agenda 
+CHARSET=ISO-8859-1
 Actions = Actions
 ActionsArea = Actions area (Events and tasks)
 Agenda = Agenda
diff --git a/htdocs/langs/en_US/banks.lang b/htdocs/langs/en_US/banks.lang
index c41ed77c29687615848009d9d9288242ea1775b1..7ab1520bc6011fa0bfacaf61fce569a3e4189023 100644
--- a/htdocs/langs/en_US/banks.lang
+++ b/htdocs/langs/en_US/banks.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - banks
+CHARSET=ISO-8859-1
 Bank=Bank
 Banks=Banks
 MenuBankCash=Bank/Cash
diff --git a/htdocs/langs/en_US/bills.lang b/htdocs/langs/en_US/bills.lang
index e2e8e1a7ac2d2227ef49dceeef5a5cffae6807e6..2f6570c0833fc4076d7a36a9ad40abce4a8e0343 100644
--- a/htdocs/langs/en_US/bills.lang
+++ b/htdocs/langs/en_US/bills.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - bills
+CHARSET=ISO-8859-1
 Bill=Invoice
 Bills=Invoices
 BillsCustomers=Customers' invoices
diff --git a/htdocs/langs/en_US/boxes.lang b/htdocs/langs/en_US/boxes.lang
index 4d6a08d65961153b7f467d5974ebae2620459986..65ea89af0f3d1bdfa4edeb8d8d6c7af8f3f4a802 100644
--- a/htdocs/langs/en_US/boxes.lang
+++ b/htdocs/langs/en_US/boxes.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - boxes
+CHARSET=ISO-8859-1
 BoxLastRssInfos=Rss information
 BoxLastProducts=Last products/services
 BoxLastProductsInContract=Last contracted products/services
diff --git a/htdocs/langs/en_US/categories.lang b/htdocs/langs/en_US/categories.lang
index fa2c51f28c50f9140ac4e4c72a458cb1459fcedd..cda93feda7c8c6b35ffe1024f70997ba8e3697fa 100644
--- a/htdocs/langs/en_US/categories.lang
+++ b/htdocs/langs/en_US/categories.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - categories
+CHARSET=ISO-8859-1
 Category=Category
 Categories=Categories
 Rubrique=Category
diff --git a/htdocs/langs/en_US/commercial.lang b/htdocs/langs/en_US/commercial.lang
index d7d2e3965b06058574e366c2629966b1d021126e..f7ff5f94945a72fc17f7dadb7f01d68d59501fb4 100644
--- a/htdocs/langs/en_US/commercial.lang
+++ b/htdocs/langs/en_US/commercial.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - commercial
+CHARSET=ISO-8859-1
 Commercial=Commercial
 CommercialArea=Commercial area
 CommercialCard=Commercial card
diff --git a/htdocs/langs/en_US/companies.lang b/htdocs/langs/en_US/companies.lang
index b29bca83e9b1507aa72394f69830cbabde554cbf..f2b064910ebbd1a10ebe0cea9eccc0c6e52d68b5 100644
--- a/htdocs/langs/en_US/companies.lang
+++ b/htdocs/langs/en_US/companies.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - companies
+CHARSET=ISO-8859-1
 ErrorBadEMail=EMail %s is wrong
 ErrorCompanyNameAlreadyExists=Company name %s already exists. Choose another one.
 ErrorPrefixAlreadyExists=Prefix %s already exists. Choose another one.
diff --git a/htdocs/langs/en_US/compta.lang b/htdocs/langs/en_US/compta.lang
index fbbd474f700eac5f94d825cc7845826edfc9e4e5..25cb2f4347d915ce89a0cd3ab6e2ec45b02a453d 100644
--- a/htdocs/langs/en_US/compta.lang
+++ b/htdocs/langs/en_US/compta.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - compta
+CHARSET=ISO-8859-1
 Accountancy=Accountancy
 AccountancyCard=Accountancy card
 Treasury=Treasury
diff --git a/htdocs/langs/en_US/contracts.lang b/htdocs/langs/en_US/contracts.lang
index f1876e7e536b8e0b433b00fcdc0aebad8ba5236c..82174ad362931b5f303493a2608a6fced0d8ad23 100644
--- a/htdocs/langs/en_US/contracts.lang
+++ b/htdocs/langs/en_US/contracts.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - contracts
+CHARSET=ISO-8859-1
 ContractsArea=Contracts area
 ListOfContracts=List of contracts
 LastContracts=Last %s modified contracts
diff --git a/htdocs/langs/en_US/deliveries.lang b/htdocs/langs/en_US/deliveries.lang
index 2c722a54a98d686c2666a34bd8130d8769a2aefa..83c6816375cbe1f59bb34b4eca4282cbc4f6c717 100644
--- a/htdocs/langs/en_US/deliveries.lang
+++ b/htdocs/langs/en_US/deliveries.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - deliveries
+CHARSET=ISO-8859-1
 Delivery=Delivery
 Deliveries=Deliveries
 DeliveryCard=Delivery card
diff --git a/htdocs/langs/en_US/dict.lang b/htdocs/langs/en_US/dict.lang
index 5ce4365a63d88f62dcc91ec94efd7a2a2bcb76b7..61994c0404b4812cfb89e26aeaff8d89da7c3406 100755
--- a/htdocs/langs/en_US/dict.lang
+++ b/htdocs/langs/en_US/dict.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - dict
+CHARSET=ISO-8859-1
 CountryFR=France
 CountryBE=Belgium
 CountryIT=Italy
diff --git a/htdocs/langs/en_US/domains.lang b/htdocs/langs/en_US/domains.lang
index 0e050f63f8bb67884335dce735399ce9ea105aa2..5364ccc0fb695ef10823090378bb7efc29479d91 100644
--- a/htdocs/langs/en_US/domains.lang
+++ b/htdocs/langs/en_US/domains.lang
@@ -1,3 +1,4 @@
 # Dolibarr language file - en_US - domains
+CHARSET=ISO-8859-1
 DomainNames=Domain names
 NewDomain=New domain name
\ No newline at end of file
diff --git a/htdocs/langs/en_US/donations.lang b/htdocs/langs/en_US/donations.lang
index caef330c6f9e9088981e5f50849b064390940fd1..e87fdd4247c70dfd18019d0e2cced7d10addb426 100644
--- a/htdocs/langs/en_US/donations.lang
+++ b/htdocs/langs/en_US/donations.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - donations
+CHARSET=ISO-8859-1
 Donation=Donation
 Donationss=Donations
 Donor=Donor
diff --git a/htdocs/langs/en_US/ecm.lang b/htdocs/langs/en_US/ecm.lang
index 3560e6c42a0e23080fded99707f093e3bf230b52..f1dd044343d563bf664e16579faaae5c14524ece 100644
--- a/htdocs/langs/en_US/ecm.lang
+++ b/htdocs/langs/en_US/ecm.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - ecm
+CHARSET=ISO-8859-1
 MenuECM=Documents
 DocsMine=My documents
 DocsGenerated=Generated documents
diff --git a/htdocs/langs/en_US/errors.lang b/htdocs/langs/en_US/errors.lang
index 23beaa147fc2ec0abf030a8eb2a0829f10913901..1d976d62c0969e0963cbffc2fb202240f9afaab6 100644
--- a/htdocs/langs/en_US/errors.lang
+++ b/htdocs/langs/en_US/errors.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - errors
+CHARSET=ISO-8859-1
 ErrorLoginAlreadyExists=Login %s already exists.
 ErrorGroupAlreadyExists=Group %s already exists.
 ErrorDuplicateTrigger=A trigger file with class nam '<b>%s</b>' is present sevaral times. Remove duplicate trigger file in directory '<b>%s</b>'.
diff --git a/htdocs/langs/en_US/exports.lang b/htdocs/langs/en_US/exports.lang
index 582989749aee8bdfc55be91da6e686ad4ea6b359..d456a944df4d68372c82aa56e9124111f728c8bb 100644
--- a/htdocs/langs/en_US/exports.lang
+++ b/htdocs/langs/en_US/exports.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - exports
+CHARSET=ISO-8859-1
 ExportsArea=Exports area
 ImportArea=Import area
 NewExport=New export
diff --git a/htdocs/langs/en_US/interventions.lang b/htdocs/langs/en_US/interventions.lang
index 7332049cba13b4718b6b8bd27e1761e5e247faaa..0f394c15218418b5c0e7f8da33a62ca42068dd2f 100644
--- a/htdocs/langs/en_US/interventions.lang
+++ b/htdocs/langs/en_US/interventions.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - interventions
+CHARSET=ISO-8859-1
 Intervention=Intervention
 Interventions=Interventions
 InterventionCard=Intervention card
diff --git a/htdocs/langs/en_US/ldap.lang b/htdocs/langs/en_US/ldap.lang
index 1678dd926794d19aae3d00779653fdd00ecf6bae..89dd2e4faa207aff1dedccf2ab3d0f938cbd2e63 100644
--- a/htdocs/langs/en_US/ldap.lang
+++ b/htdocs/langs/en_US/ldap.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - ldap
+CHARSET=ISO-8859-1
 DomainPassword=Password for domain
 YouMustChangePassNextLogon=Password for user <b>%s</b> on the domain <b>%s</b> must be changed.
 UserMustChangePassNextLogon=User must change password on the domain %s
diff --git a/htdocs/langs/en_US/mails.lang b/htdocs/langs/en_US/mails.lang
index 5b506580dcc122cd9e7d71875d756dd346fcda73..12399cebb5d673c68e412e19d0d56e00cb7834fa 100644
--- a/htdocs/langs/en_US/mails.lang
+++ b/htdocs/langs/en_US/mails.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - mails
+CHARSET=ISO-8859-1
 Mailing=EMailing
 EMailing=EMailing
 Mailings=EMailings
diff --git a/htdocs/langs/en_US/members.lang b/htdocs/langs/en_US/members.lang
index e15c48545e2542319cb665f6c06f16a41c67640a..1359ea9a3a8ffe195f1c340a43c2eac0d8f055a9 100644
--- a/htdocs/langs/en_US/members.lang
+++ b/htdocs/langs/en_US/members.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - members
+CHARSET=ISO-8859-1
 MembersArea=Members area
 PublicMembersArea=Public members area
 MemberCard=Member card
diff --git a/htdocs/langs/en_US/orders.lang b/htdocs/langs/en_US/orders.lang
index 360cf00d961d0f77fecf5423814db24ec0b6fdb1..d7092d5c496255f79b3b8e20672af01b42246a03 100755
--- a/htdocs/langs/en_US/orders.lang
+++ b/htdocs/langs/en_US/orders.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - orders
+CHARSET=ISO-8859-1
 OrdersArea=Customers orders area
 SuppliersOrdersArea=Suppliers orders area
 OrderCard=Order card
diff --git a/htdocs/langs/en_US/oscommerce.lang b/htdocs/langs/en_US/oscommerce.lang
index 1b031f39f20c72dddde05b053299080b914a9bbf..afe622db5e62f90355d91f97ed4a788c8a1cb8e5 100644
--- a/htdocs/langs/en_US/oscommerce.lang
+++ b/htdocs/langs/en_US/oscommerce.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - oscommerce
+CHARSET=ISO-8859-1
 OSCommerce=OS Commerce
 OSCommerceSetup=OS Commerce module setup
 OSCommerceSetupSaved=OS Commerce setup saved
diff --git a/htdocs/langs/en_US/other.lang b/htdocs/langs/en_US/other.lang
index c10ee5deb65b4a7c689c66127aeffa2889d376d8..a61574e6cc656becc95639592229a9c36ac99906 100644
--- a/htdocs/langs/en_US/other.lang
+++ b/htdocs/langs/en_US/other.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - other
+CHARSET=ISO-8859-1
 ErrorPasswordDiffers=Passwords differs, please type them again.
 ErrorForbidden=Access forbidden.<br>You try to access to a page, area or feature without being in an authenticated session or that is not allowed to your user.
 ErrorForbidden2=Permission for this login can be defined by your Dolibarr administrator from menu %s->%s.
diff --git a/htdocs/langs/en_US/products.lang b/htdocs/langs/en_US/products.lang
index de9795ab90532268bff3227d1fc0c56352483b97..42b6a8612ae929cfdda68e08b78126a2e1030160 100644
--- a/htdocs/langs/en_US/products.lang
+++ b/htdocs/langs/en_US/products.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - products
+CHARSET=ISO-8859-1
 ProductServiceCard=Products/Services card
 Products=Products
 Services=Services
diff --git a/htdocs/langs/en_US/projects.lang b/htdocs/langs/en_US/projects.lang
index f33f7586d2ed68a29b15e0517b285f52733f1980..cda9f834a00156bf5d06bdfcc302b50b124c89da 100755
--- a/htdocs/langs/en_US/projects.lang
+++ b/htdocs/langs/en_US/projects.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - projects
+CHARSET=ISO-8859-1
 Project=Project
 Projects=Projects
 SharedProject=Shared project
diff --git a/htdocs/langs/en_US/propal.lang b/htdocs/langs/en_US/propal.lang
index 011e043baa58893869e22334217718f2f4b99667..66a7e4f45d0cbd848118292abf02d2439bd72534 100644
--- a/htdocs/langs/en_US/propal.lang
+++ b/htdocs/langs/en_US/propal.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - propal
+CHARSET=ISO-8859-1
 Proposals=Commercial proposals
 Proposal=Commercial proposal
 ProposalsDraft=Draft commercial proposals
diff --git a/htdocs/langs/en_US/sendings.lang b/htdocs/langs/en_US/sendings.lang
index 327b2d7d6ccd5ea973393ea3a963382f03c6b5d1..13078b13a6a3f8e2a3c0ca7427864068323760ed 100644
--- a/htdocs/langs/en_US/sendings.lang
+++ b/htdocs/langs/en_US/sendings.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - sendings
+CHARSET=ISO-8859-1
 RefSending=Ref. sending
 Sending=Sending
 Sendings=Sendings
diff --git a/htdocs/langs/en_US/shop.lang b/htdocs/langs/en_US/shop.lang
index 80e8d8ee6dc0b98dac8cbd1e4b2ca47070dc8dd5..9503a03cbc94076ebb7af1b74e929f867b0faccd 100644
--- a/htdocs/langs/en_US/shop.lang
+++ b/htdocs/langs/en_US/shop.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - shop
+CHARSET=ISO-8859-1
 Shop=Shop
 ShopWeb=Web Shop
 LastOrders=Last orders
diff --git a/htdocs/langs/en_US/stocks.lang b/htdocs/langs/en_US/stocks.lang
index 05958d2bf33cd98e333a815fd78d2b50f5d6d65c..0932686c1c4e51917a18fa7ee08cc419c4103be6 100644
--- a/htdocs/langs/en_US/stocks.lang
+++ b/htdocs/langs/en_US/stocks.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - stocks
+CHARSET=ISO-8859-1
 WarehouseCard=Warehouse card
 Warehouse=Warehouse
 NewWarehouse=New warehouse / Stock area
diff --git a/htdocs/langs/en_US/suppliers.lang b/htdocs/langs/en_US/suppliers.lang
index 01994b83d60c16ef36b39e87607024c8e4338aeb..90507adff492181268fe4fb19b62650be069611b 100644
--- a/htdocs/langs/en_US/suppliers.lang
+++ b/htdocs/langs/en_US/suppliers.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - suppliers
+CHARSET=ISO-8859-1
 Suppliers=Suppliers
 Supplier=Supplier
 AddSupplier=Add a supplier
diff --git a/htdocs/langs/en_US/trips.lang b/htdocs/langs/en_US/trips.lang
index be4ce680300f3ed28078589a5234c933ad318f46..7ecac86295ce73bbd850f9f19b7fe75e13ee435a 100644
--- a/htdocs/langs/en_US/trips.lang
+++ b/htdocs/langs/en_US/trips.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - trips
+CHARSET=ISO-8859-1
 Trip=Trip
 Trips=Trips
 TripsAndExpenses=Trips and expenses
diff --git a/htdocs/langs/en_US/users.lang b/htdocs/langs/en_US/users.lang
index 5d1916cfdc3ab7a78113491719e9171e540e19ea..65c26da7de69d24043c7821e030ce2efc0820fa4 100755
--- a/htdocs/langs/en_US/users.lang
+++ b/htdocs/langs/en_US/users.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - users
+CHARSET=ISO-8859-1
 UserCard=User card
 ContactCard=Contact card
 GroupCard=Group card
diff --git a/htdocs/langs/en_US/withdrawals.lang b/htdocs/langs/en_US/withdrawals.lang
index 22a1674ee6fc20e9038fd04487995c98a65ea735..094dc17cacfebd9c8fe8de102f65d78b769acff7 100755
--- a/htdocs/langs/en_US/withdrawals.lang
+++ b/htdocs/langs/en_US/withdrawals.lang
@@ -1,4 +1,5 @@
 # Dolibarr language file - en_US - withdrawals
+CHARSET=ISO-8859-1
 StandingOrdersArea=Standing orders area
 CustomersStandingOrdersArea=Customers standing orders area
 StandingOrders=Standing orders
diff --git a/htdocs/langs/nl_BE/main.lang b/htdocs/langs/nl_BE/main.lang
index 7246ace24a7e98221f34715ab4b303aaab5a6056..1c185f037fbbe5089a1a867afa0aa416e11aeabb 100644
--- a/htdocs/langs/nl_BE/main.lang
+++ b/htdocs/langs/nl_BE/main.lang
@@ -1,5 +1,5 @@
 # Dolibarr language file - nl_BE - main
-charset=iso-8859-1
+CHARSET=iso-8859-1
 SeparatorDecimal=,
 SeparatorThousand= 
 Error=Fout
diff --git a/htdocs/langs/nl_NL/admin.lang b/htdocs/langs/nl_NL/admin.lang
index 360b088386ff58358151c1915fcdaacb4efe29e2..99f5e5a92bc792f09122c514b77d7113fbf322a8 100644
--- a/htdocs/langs/nl_NL/admin.lang
+++ b/htdocs/langs/nl_NL/admin.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Version=Versie
 VersionProgram=Versie programma
 VersionLastInstall=Oorspronkelijke versie installeren
diff --git a/htdocs/langs/nl_NL/agenda.lang b/htdocs/langs/nl_NL/agenda.lang
index 49b4f020b8d4b24ba6ca27db8aeb80950eafe250..046d43fac0e8cba5ff2e3e0081c4db9d00eb0063 100644
--- a/htdocs/langs/nl_NL/agenda.lang
+++ b/htdocs/langs/nl_NL/agenda.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:55:46
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Actions=Acties
 ActionsArea=Acties gebied (Evenementen en taken)
 Agenda=Agenda
diff --git a/htdocs/langs/nl_NL/banks.lang b/htdocs/langs/nl_NL/banks.lang
index 6672dbf6047c002b616318413e68448cc6d3488c..327693f16bc6f50f81880dcee69998b61c94978a 100644
--- a/htdocs/langs/nl_NL/banks.lang
+++ b/htdocs/langs/nl_NL/banks.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:55:46
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Bank=Bank
 Banks=Banken
 MenuBankCash=Bank / Cash
diff --git a/htdocs/langs/nl_NL/bills.lang b/htdocs/langs/nl_NL/bills.lang
index cb3f57e1320bc7c5fc261e6aad56d1388d95c848..516e046494828e8787f34a5aba0719be06ad0dd0 100644
--- a/htdocs/langs/nl_NL/bills.lang
+++ b/htdocs/langs/nl_NL/bills.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Bill=Factuur
 Bills=Facturen
 BillsCustomers=Klanten facturen
@@ -126,8 +127,8 @@ BillFrom=Van
 BillTo=Bill tot
 ActionsOnBill=Acties op factuur
 NewBill=Nieuwe factuur
-Pr�l�vements=Doorlopende opdracht
-Pr�l�vements=Permanente opdrachten
+Pr�l�vements=Doorlopende opdracht
+Pr�l�vements=Permanente opdrachten
 LastBills=Last% s facturen
 LastCustomersBills=Last% s klanten facturen
 LastSuppliersBills=Last% s leveranciers facturen
diff --git a/htdocs/langs/nl_NL/boxes.lang b/htdocs/langs/nl_NL/boxes.lang
index cfe069aa408c9ccd6861924266c109c263ec47fa..1dea3b907ee739e28bbc5be26608b60152803457 100644
--- a/htdocs/langs/nl_NL/boxes.lang
+++ b/htdocs/langs/nl_NL/boxes.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 BoxLastRssInfos=RSS informatie
 BoxLastProducts=Laatste producten / diensten
 BoxLastProductsInContract=Laatste gecontracteerde producten / diensten
diff --git a/htdocs/langs/nl_NL/categories.lang b/htdocs/langs/nl_NL/categories.lang
index 846f9fed319b188dfdf39f4c210e315065de7d95..0b2e644fcb0f31e3898a00eb469557ce298564f0 100644
--- a/htdocs/langs/nl_NL/categories.lang
+++ b/htdocs/langs/nl_NL/categories.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Category=Categorie
 Categories=Categorieën
 Rubrique=Categorie
diff --git a/htdocs/langs/nl_NL/commercial.lang b/htdocs/langs/nl_NL/commercial.lang
index 0b8ec07c39feb362a210ad8d5b227dac6a8c312e..db7a46b9560d0b7ceb57696e46bf24bdb9bbf3a8 100644
--- a/htdocs/langs/nl_NL/commercial.lang
+++ b/htdocs/langs/nl_NL/commercial.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Commercial=Commercieel
 CommercialArea=Commerciële ruimte
 CommercialCard=Commerciële kaart
diff --git a/htdocs/langs/nl_NL/companies.lang b/htdocs/langs/nl_NL/companies.lang
index 1ff8113c6d6979d216ac033db8550d028ad1082a..ea7bc91792e1b5aa6f2e82a9fdd639eb5ce45dac 100644
--- a/htdocs/langs/nl_NL/companies.lang
+++ b/htdocs/langs/nl_NL/companies.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 ErrorBadEMail=EMail% s is verkeerd
 ErrorCompanyNameAlreadyExists=Firmanaam% s bestaat reeds. Kies een andere.
 ErrorPrefixAlreadyExists=Prefix% s bestaat reeds. Kies een andere.
diff --git a/htdocs/langs/nl_NL/compta.lang b/htdocs/langs/nl_NL/compta.lang
index c88d4402e2d087360f06b63130621c43157e02a6..299bdb2d938d0d9b1d560aa775d8ed2be8b41cd9 100644
--- a/htdocs/langs/nl_NL/compta.lang
+++ b/htdocs/langs/nl_NL/compta.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Accountancy=Accountancy
 AccountancyCard=Accountancy kaart
 Treasury=Schatkist
diff --git a/htdocs/langs/nl_NL/contracts.lang b/htdocs/langs/nl_NL/contracts.lang
index 371fb2848460f3776fa99d3a3a588980b4a87ed6..16877c5d2c5ae66e35b7c97580b916322182d156 100644
--- a/htdocs/langs/nl_NL/contracts.lang
+++ b/htdocs/langs/nl_NL/contracts.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 ContractsArea=Contracten gebied
 ListOfContracts=Lijst van opdrachten
 LastContracts=Last% s bewerkt contracten
diff --git a/htdocs/langs/nl_NL/deliveries.lang b/htdocs/langs/nl_NL/deliveries.lang
index f80d1d7b07cb990a9b0e1fc68e2cb434a9b88679..68735c2354f13b2973512090a728ab86987bd7dd 100644
--- a/htdocs/langs/nl_NL/deliveries.lang
+++ b/htdocs/langs/nl_NL/deliveries.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Delivery=Aflevering
 Deliveries=Leveringen
 DeliveryCard=Bezorging kaart
diff --git a/htdocs/langs/nl_NL/dict.lang b/htdocs/langs/nl_NL/dict.lang
index 0f3313c4a092b3317b8550a1434d543d9398ac25..1032f45338afd1d74e2deae5100200e22d8ce2bd 100644
--- a/htdocs/langs/nl_NL/dict.lang
+++ b/htdocs/langs/nl_NL/dict.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 CountryFR=Frankrijk
 CountryBE=België
 CountryIT=Italië
diff --git a/htdocs/langs/nl_NL/domains.lang b/htdocs/langs/nl_NL/domains.lang
index 5c35d5684274dc25f0d2bb72c60471042553035d..ec0ceb1831cf5a5d617c10f86b6be3f375859d15 100644
--- a/htdocs/langs/nl_NL/domains.lang
+++ b/htdocs/langs/nl_NL/domains.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 DomainNames=Domeinnamen
 NewDomain=Nieuwe domeinnaam
 // Date 2009-01-18 23:57:49
diff --git a/htdocs/langs/nl_NL/donations.lang b/htdocs/langs/nl_NL/donations.lang
index 6f29f8d2019382cf17c2d6d622846568ca028e07..2a9946d44dbd9f000f2542d4425a4181187f019e 100644
--- a/htdocs/langs/nl_NL/donations.lang
+++ b/htdocs/langs/nl_NL/donations.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Donation=Donatie
 Donationss=Donaties
 Donor=Donor
diff --git a/htdocs/langs/nl_NL/ecm.lang b/htdocs/langs/nl_NL/ecm.lang
index 77bd13bb20a989c3463fc60ef8d7b37275bec1b3..8b2ebff6bb05d1d273f18f4bcdf55486fb240f11 100644
--- a/htdocs/langs/nl_NL/ecm.lang
+++ b/htdocs/langs/nl_NL/ecm.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 MenuECM=Documenten
 DocsMine=Mijn documenten
 DocsGenerated=Gegenereerd documenten
diff --git a/htdocs/langs/nl_NL/errors.lang b/htdocs/langs/nl_NL/errors.lang
index 34ae5a76f34f763ca77706be1b25f884aa336447..59b1b9d530ebc5cfc4bdd68ee5d1964b0eeebb59 100644
--- a/htdocs/langs/nl_NL/errors.lang
+++ b/htdocs/langs/nl_NL/errors.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 ErrorLoginAlreadyExists=Inloggen% s bestaat reeds.
 ErrorGroupAlreadyExists=Groep% s bestaat reeds.
 ErrorDuplicateTrigger=Een trigger bestand met klasse nam <b>&#39;% s&#39;</b> is aanwezig sevaral tijden. Verwijder dubbele trigger-bestand in de directory <b>&#39;% s&#39;.</b>
diff --git a/htdocs/langs/nl_NL/exports.lang b/htdocs/langs/nl_NL/exports.lang
index 05ea8ec597098be56e75da18cb74b698cf08b50d..7c66fb42c71a4cf860ffc29fa0179c5359b28c2a 100644
--- a/htdocs/langs/nl_NL/exports.lang
+++ b/htdocs/langs/nl_NL/exports.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-18 23:57:49
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 ExportsArea=Uitvoer gebied
 ImportArea=Import gebied
 NewExport=Nieuwe exportmogelijkheden
diff --git a/htdocs/langs/nl_NL/interventions.lang b/htdocs/langs/nl_NL/interventions.lang
index 0ced0144bafcee75a548c7a3c745630e44087045..770e1f793e93c9827f15acf01ad32d9870e2821b 100644
--- a/htdocs/langs/nl_NL/interventions.lang
+++ b/htdocs/langs/nl_NL/interventions.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Intervention=Interventie
 Interventions=Interventies
 InterventionCard=Interventie-kaart
diff --git a/htdocs/langs/nl_NL/ldap.lang b/htdocs/langs/nl_NL/ldap.lang
index 74698cb5b77d9217188f6afaaf94cb2e3da231cf..c8bbc00cb816556b1c7e6d2b493a10dc250637d8 100644
--- a/htdocs/langs/nl_NL/ldap.lang
+++ b/htdocs/langs/nl_NL/ldap.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 DomainPassword=Wachtwoord voor het domein
 YouMustChangePassNextLogon=Wachtwoord voor <b>gebruiker% s</b> op het <b>domein% s</b> moet worden veranderd.
 UserMustChangePassNextLogon=Gebruiker moet wachtwoord wijzigen op het domein% s
diff --git a/htdocs/langs/nl_NL/mails.lang b/htdocs/langs/nl_NL/mails.lang
index 1479a43cf070ac7021dda16b39ab78e1499677aa..5d9a6ce36f6e7d147e442c3c7acbe1b31d67992f 100644
--- a/htdocs/langs/nl_NL/mails.lang
+++ b/htdocs/langs/nl_NL/mails.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Mailing=E-mailen
 EMailing=E-mailen
 Mailings=EMailings
diff --git a/htdocs/langs/nl_NL/members.lang b/htdocs/langs/nl_NL/members.lang
index 6a5e3050cdd5c5cd2fa7708318f0032c0aaad5de..e84eb29352b72d92e1ef4071862c16cbade3db53 100644
--- a/htdocs/langs/nl_NL/members.lang
+++ b/htdocs/langs/nl_NL/members.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 MembersArea=Members Area
 PublicMembersArea=Openbare leden gebied
 MemberCard=Lid kaart
diff --git a/htdocs/langs/nl_NL/orders.lang b/htdocs/langs/nl_NL/orders.lang
index b289e130ffc9bcf0b4c9add7ab0545da0a26a153..ba7b9e35ec6e731bbb0bb91ed3f55d9048e2ba36 100644
--- a/htdocs/langs/nl_NL/orders.lang
+++ b/htdocs/langs/nl_NL/orders.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 OrdersArea=Klanten bestellingen gebied
 SuppliersOrdersArea=Leveranciers bestellingen gebied
 OrderCard=Bestel kaart
diff --git a/htdocs/langs/nl_NL/oscommerce.lang b/htdocs/langs/nl_NL/oscommerce.lang
index 94b04ca988d3a5e77c078f30189f46e9a7c09a71..3ae0a605a9ca530c2fe6bc4da8d2e75def3a0969 100644
--- a/htdocs/langs/nl_NL/oscommerce.lang
+++ b/htdocs/langs/nl_NL/oscommerce.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 OSCommerce=OS Commerce
 OSCommerceSetup=OS Commerce module setup
 OSCommerceSetupSaved=OS Commerce setup opgeslagen
diff --git a/htdocs/langs/nl_NL/other.lang b/htdocs/langs/nl_NL/other.lang
index 70b8c9f43139ec85db6c9fd9776c23bd9d629276..f494c1d45637e32d41c64749e77d40e3f241b8b1 100644
--- a/htdocs/langs/nl_NL/other.lang
+++ b/htdocs/langs/nl_NL/other.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 ErrorPasswordDiffers=Wachtwoorden verschilt, typt u deze opnieuw.
 ErrorForbidden=Toegang verboden. <br> Je probeert de toegang tot een pagina of functie zonder in een geauthentiseerde sessie, of dat niet is toegestaan om uw gebruikersnaam.
 ErrorForbidden2=Toestemming voor deze aanmelding kan worden gedefinieerd door de beheerder van Dolibarr menu% s-&gt;% s.
diff --git a/htdocs/langs/nl_NL/products.lang b/htdocs/langs/nl_NL/products.lang
index 521d7a3c7c2dad4b8c29bedabfd6d6eac8722039..415f0532438c4a87f489b62c1fccd93b1c5e696e 100644
--- a/htdocs/langs/nl_NL/products.lang
+++ b/htdocs/langs/nl_NL/products.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 ProductServiceCard=Producten / Diensten kaart
 Products=Producten
 Services=Diensten
diff --git a/htdocs/langs/nl_NL/projects.lang b/htdocs/langs/nl_NL/projects.lang
index fcbd36370148fe8573ce03638437b9ef513d9b6b..ae4b9cc8dcea7d6b57fb448478e483cd27ecf3a6 100644
--- a/htdocs/langs/nl_NL/projects.lang
+++ b/htdocs/langs/nl_NL/projects.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Project=Project
 Projects=Projecten
 SharedProject=Gezamenlijk project
diff --git a/htdocs/langs/nl_NL/propal.lang b/htdocs/langs/nl_NL/propal.lang
index e2cb9b97c37a7a8044d9117e81f99fb3e6fdb3e1..fee95d7246528f70d0cb042e3b2d7308f53a9885 100644
--- a/htdocs/langs/nl_NL/propal.lang
+++ b/htdocs/langs/nl_NL/propal.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Proposals=Commerciële voorstellen
 Proposal=Commerciële voorstel
 ProposalsDraft=Ontwerp commerciële voorstellen
diff --git a/htdocs/langs/nl_NL/sendings.lang b/htdocs/langs/nl_NL/sendings.lang
index f2d6fc2ff859f70426c2b9d7f3d72c1ca155ae47..66c7e57b2047d240904160d5f376766a7e97f525 100644
--- a/htdocs/langs/nl_NL/sendings.lang
+++ b/htdocs/langs/nl_NL/sendings.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 RefSending=Ref. verzenden
 Sending=Thuisinstelling
 Sendings=Verzendingen
diff --git a/htdocs/langs/nl_NL/shop.lang b/htdocs/langs/nl_NL/shop.lang
index 8dc2e6dd8bc9e192e2cfc3f6ab249acbc3441ea1..68e997160c803a8d9dd0fdda9fe8f1996a531170 100644
--- a/htdocs/langs/nl_NL/shop.lang
+++ b/htdocs/langs/nl_NL/shop.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Shop=Winkel
 ShopWeb=Web Winkel
 LastOrders=Last orders
diff --git a/htdocs/langs/nl_NL/stocks.lang b/htdocs/langs/nl_NL/stocks.lang
index cbfb86ce46d957daca5e496fd9451afaa745d95d..5014e0e7950426c50adab8bd5f02279c47aca85c 100644
--- a/htdocs/langs/nl_NL/stocks.lang
+++ b/htdocs/langs/nl_NL/stocks.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 WarehouseCard=Warehouse kaart
 Warehouse=Warehouse
 NewWarehouse=Nieuw magazijn / Stock gebied
diff --git a/htdocs/langs/nl_NL/suppliers.lang b/htdocs/langs/nl_NL/suppliers.lang
index 94236283da947cbf16e6b29cf7b56c050f574a3b..362c4ed592a318495df3472c911d3e3873a5279a 100644
--- a/htdocs/langs/nl_NL/suppliers.lang
+++ b/htdocs/langs/nl_NL/suppliers.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Suppliers=Leveranciers
 Supplier=Leverancier
 AddSupplier=Voeg een leverancier
diff --git a/htdocs/langs/nl_NL/trips.lang b/htdocs/langs/nl_NL/trips.lang
index 68a218871a316f70b2ceb2e5798c86f3b4e9fd77..293060b21bae2549a8e5de125663ed5abf6845a9 100644
--- a/htdocs/langs/nl_NL/trips.lang
+++ b/htdocs/langs/nl_NL/trips.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 Trip=Reis
 Trips=Uitstapjes
 TripsAndExpenses=Uitstapjes en lasten
diff --git a/htdocs/langs/nl_NL/users.lang b/htdocs/langs/nl_NL/users.lang
index 65cc82d3dceadaed6e2b50836dd9ebaba8f0eb11..0286052aaa1ba44bfdb9fadf516f8d5426d922b2 100644
--- a/htdocs/langs/nl_NL/users.lang
+++ b/htdocs/langs/nl_NL/users.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 UserCard=Gebruiker kaart
 ContactCard=Contactkaart
 GroupCard=Groep kaart
diff --git a/htdocs/langs/nl_NL/withdrawals.lang b/htdocs/langs/nl_NL/withdrawals.lang
index bbaa9c301dad61d16babd0ca2b2944635809ee2a..45094ac2c5d5f64e43021aff8a1733a2316c4368 100644
--- a/htdocs/langs/nl_NL/withdrawals.lang
+++ b/htdocs/langs/nl_NL/withdrawals.lang
@@ -10,6 +10,7 @@
 // Date 2009-01-19 00:04:30
 // START - Lines generated via autotranslator.php tool.
 // Reference language: en_US
+CHARSET=UTF-8
 StandingOrdersArea=Permanente opdrachten gebied
 CustomersStandingOrdersArea=Klanten permanente opdrachten gebied
 StandingOrders=Permanente opdrachten
diff --git a/htdocs/langs/pt_PT/main.lang b/htdocs/langs/pt_PT/main.lang
index 89146b8ff77e2f5af3549a88dd960443a0936f39..bc3409dd47af7efdab2f456d65d0f2d54dee4c3b 100644
--- a/htdocs/langs/pt_PT/main.lang
+++ b/htdocs/langs/pt_PT/main.lang
@@ -1,5 +1,5 @@
 # Dolibarr language file - pt_PT - principal
-charset=iso-8859-1
+CHARSET=ISO-8859-1
 Error=Erro
 ErrorFieldRequired=O campo '%s' � obrigat�rio
 ErrorFileDoesNotExists=O ficheiro %s n�o existe
diff --git a/htdocs/translate.class.php b/htdocs/translate.class.php
index ea337c4ca52de9722ea705e318c7181189425d63..b28e6156a98baa61c59ee3ee5bd90f686185e47f 100644
--- a/htdocs/translate.class.php
+++ b/htdocs/translate.class.php
@@ -42,8 +42,8 @@ class Translate {
 
     var $cache_labels=array();		// Cache for labels
 
-    var $charset_inputfile='ISO-8859-1';	// Codage used by default to encode/decode lang files (used if CHARSET not found in file)
-	var $charset_output='UTF-8';			// Codage used by default for "trans" method output if $conf->character_set_client not defined (should never happen)
+    var $charset_inputfile=array();	// To store charset encoding used for language
+	var $charset_output='UTF-8';	// Codage used by default for "trans" method output if $conf->character_set_client not defined (should never happen)
 
 
     /**
@@ -214,7 +214,6 @@ class Translate {
 				if ($this->defaultlang == "en_US") $scandiralt = $searchdir."/fr_FR";
 	            elseif (eregi('^fr',$this->defaultlang) && $this->defaultlang != 'fr_FR') $scandiralt = $searchdir."/fr_FR";
 	            elseif (eregi('^en',$this->defaultlang) && $this->defaultlang != 'en_US') $scandiralt = $searchdir."/en_US";
-	            elseif (eregi('^es',$this->defaultlang) && $this->defaultlang != 'es_ES') $scandiralt = $searchdir."/es_ES";
 	            else $scandiralt = $searchdir."/en_US";
 
 	            $file_lang = $scandiralt . "/".$domain.".lang";
@@ -258,14 +257,14 @@ class Translate {
 									if (eregi('^CHARSET$',$key))
 									{
 										// On est tombe sur une balise qui declare le format du fichier lu
-										$this->charset_inputfile=strtoupper($value);
-										//print 'File '.$file_lang.' has format '.$this->charset_inputfile.'<br>';
+										$this->charset_inputfile[$domain]=strtoupper($value);
+										//print 'File '.$file_lang.' is declared to have format '.$this->charset_inputfile[$domain].'<br>';
 									}
 									else
 									{
 										// On stocke toujours dans le tableau Tab en UTF-8
-			                        	//if ($this->charset_inputfile == 'UTF-8')      $value=utf8_decode($value);
-			                        	if ($this->charset_inputfile == 'ISO-8859-1') $value=utf8_encode($value);
+			                        	//if (empty($this->charset_inputfile[$domain]) || $this->charset_inputfile[$domain] == 'UTF-8')      $value=utf8_decode($value);
+			                        	if (empty($this->charset_inputfile[$domain]) || $this->charset_inputfile[$domain] == 'ISO-8859-1') $value=utf8_encode($value);
 
 										// We do not load Separator values for alternate files
 										if (! $newalt || (! eregi('^Separator',$key)))