Coder avec Unicode/Conversion
De nos jours, les principales conversions que l'on doit faire sont des conversions entre utf-8 et utf-16, mais certains systèmes utilisent des encodages plus anciens. Il est alors nécessaire de les convertir. Cela ne peut se faire que si l'on sait quel est l'ancien encodage utilisé...
Si les données en entrée ne sont pas valides, une erreur de conversion d'encodage peut se produire.
Perl.
Exemple 
 1. my $foo = decode('UTF-8', get 'http://example.com/');
 2. my $bar = decode('ISO-8859-1', readline STDIN);
 3. my $xyzzy = decode('Windows-1251', $cgi->param('foo'));
 $body = encode('UTF-8', $body);
PHP.
Sur une page Web, si codice_1 n'est pas décommenté dans PHP.ini :
Pour échapper les symboles Unicode indigestes comme "U+001F" :
public function slugify($string)
 $pattern = '/[^a-z0-9]/';
 $string = preg_replace($pattern, '-', strtolower($string));
 while (substr($string, -1) == '-') {
 $string = substr($string, 0, strlen($string) - 1);
 return preg_replace($pattern, '-', $string);
Base de données.
Insertion dans une base MySQL avec MySQLi :
 if (strpos($chaine, 'é') > 0) {
 $mysqli->set_charset('utf8');
 return $mysqli->query($chaine);
Insertion dans une base MySQL avec PDO :
 public function connect()
 $options = [
 PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8',
 if (empty($this->connection)) {
 $this->connection = new PDO(
 'mysql:host='.$this->serverName.';dbname='.$this->databaseName,
 $this->userName,
 $this->password,
 $options
 return $this->connection;
Python.
Exemple de conversion.
Conversion d'une chaîne Unicode en une chaîne utf-8; cas de la chaîne « âäàéèëê » :
a = u'\xe2\xe4\xe0\xe9\xe8\xeb\xea' # L'écriture en hexadécimal permet de s'affranchir de l'encodage utilisé par le fichier source
a.encode('utf-8') ## Retourne la séquence d'octets '\xc3\xa2\xc3\xa4\xc3\xa0\xc3\xa9\xc3\xa8\xc3\xab\xc3\xaa'
En Python 3 :
Exemple de création d'un caractère à partir de sa forme encodée en UTF-16 :
b'\xff\xfeW['.decode('utf-16')
Exemple de conversion d'un caractère non latin dans un codage UTF8 ou UTF-16 :
nonlat = '字' # Suppose que l'encodage du fichier est UTF-8.
nonlat = b'\xff\xfeW['.decode('utf-16') # Quel que soit l'encodage du fichier source
bytes(nonlat, 'utf-8')
 # return b'\xe5\xad\x97'
nonlat.encode() # the encode method in Python 3.x uses the UTF-8 encoding by default.
nonlat.encode('utf-16')
Gestion des erreurs de conversion.
En Python 2, le codage des chaînes littérales dépend de l'environnement logiciel utilisé, dans le cas d'un système Windows.
L'exemple suivant créera donc des erreurs différentes en fonction de l'environnement d'exécution.
 chaine = '&eacute é $ €<br/>'
 print chaine
 print chaine.decode("utf8")
 print chaine.encode("utf8")
 chaine = u'&eacute é $ €<br/>'
 print chaine
 print chaine.decode("utf8")
 print chaine.encode("utf8")
&eacute é $ ?<br/>
UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 8: invalid start byte
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 8: ordinal not in range(128)
&eacute é $ ?<br/>
UnicodeEncodeError: 'ascii' codec can't encode character u'\xe9' in position 8: ordinal not in range(128)
&eacute ├® $ ?<br/>
Le message d'erreur «UnicodeDecodeError: 'utf8' codec can't decode byte 0x82 in position 8: invalid start byte» donne deux indications: le contexte de l'erreur et l'erreur elle même.
Java.
En Java, les chaînes de caractères sont déjà Unicode ; le constructeur de la classe codice_2 permet de décoder une séquence d'octets.
La méthode codice_3 de cette classe permet d'obtenir les octets d'encodage.
public static String decodeUtf8(byte[] b)
 return new String(b, "UTF-8");
public static byte[] encodeUtf8(String s)
 return s.getBytes("UTF-8");
JavaScript.
JavaScript propose les fonctions "encodeURI()" et "decodeURI()".
Sinon, une astuce car la conversion UTF8 n'est pas native consiste à :
function encode_utf8(s) {
 return unescape(encodeURIComponent(s));
function decode_utf8(s) {
 return decodeURIComponent(escape(s));
Vala.
En Vala, le type string utilise des données au format utf-8. Les données qui ne sont pas à ce format peuvent être mises à ce format à l'aide de la classe CharsetConverter.
Exemple:
public static int main (string[] args) {
 try {
 MemoryOutputStream mostream = new MemoryOutputStream (null, GLib.realloc, GLib.free);
 CharsetConverter oconverter = new CharsetConverter ("utf-16", "utf-8");
 ConverterOutputStream costream = new ConverterOutputStream (mostream, oconverter);
 DataOutputStream dostream = new DataOutputStream (costream);
 dostream.put_string ("ΑαΒβΓγΔδΕεΖζΗηΘθ\n");
 dostream.put_string ("ΙιΚκΛλΜμΝνΞξΟοΠπ\n");
 dostream.put_string ("ΡρΣσΤτΥυΦφΧχΨψΩω\n");
 mostream.close ();
 Bytes bytes = mostream.steal_as_bytes ();
 MemoryInputStream mistream = new MemoryInputStream.from_bytes (bytes);
 CharsetConverter iconverter = new CharsetConverter ("utf-8", "utf-16");
 ConverterInputStream cistream = new ConverterInputStream (mistream, iconverter);
 DataInputStream distream = new DataInputStream (cistream);
 string line = distream.read_line ();
 stdout.puts (line);
 stdout.putc ('\n');
 line = distream.read_line ();
 stdout.puts (line);
 stdout.putc ('\n');
 line = distream.read_line ();
 stdout.puts (line);
 stdout.putc ('\n');
 } catch (IOError e) {
 stdout.printf ("IOError: %s\n", e.message);
 } catch (Error e) {
 stdout.printf ("Error: %s\n", e.message);
 return 0;
PL/SQL.
En PL/SQL des erreurs de conversion peuvent être remplacées par des caractères blancs

Photographie/Personnalités/L/Sergey Lvovich Levitsky

Sergey Lvovich Levitsky, alias Sergey Levicky, était un photographe russe (1819 – 1898).

Photographie/Personnalités/D/Menzies Dickson

Biographie.
Menzies Dickson était un photographe hawaïen né en 1840 à Charlestown et décédé le 31 mai 1891 à Kapalama. Il a travaillé de 1867 à 1882 à Hawaï.

Photographie/Personnalités/M/Léonard Misonne

Léonard Misonne était un photographe belge.

Photographie/Sociétés et Organisations/Éditeurs de cartes postales/Chouasnet

Chouasnet était un éditeur français de cartes postales.

Photographie/Sociétés et Organisations/Éditeurs de cartes postales/A. Dolbeau

A. Dolbeau était un imprimeur et éditeur de cartes postales installé 6 rue Auvray au Mans (Sarthe).

Photographie/Personnalités/C/Michelle Alessio Caprani

Michelle Alessio Caprani (1860 - 1922) était un photographe danois ; il a travaillé à Kolding, Middelfart, et à Aarhus.

Photographie/Personnalités/W/Niels Willumsen

Niels Willumsen était un photographe danois (1812 - 1870). Il a travaillé à Copenhague de 1846 à 1869.

Photographie/Personnalités/J/Gebhardt Peter Jacobsen

Gebhardt Peter Jacobsen était un photographe danois (1840 - 1915). Il a travaillé à Odense.

Photographie/Sociétés et Organisations/Éditeurs de cartes postales/Ancre

Ancre était un éditeur français de cartes postales.

Photographie/Sociétés et Organisations/Éditeurs de cartes postales/V. Kremer

V. Kremer (1872-1948) était un éditeur de cartes postales installé à Longwy-Haut (Meurthe-et-Moselle).

Photographie/Sociétés et Organisations/Éditeurs de cartes postales/Vve Chabri

Veuve Chabri était un éditeur français de cartes postales.

Charles Marville
Photographie/Personnalités/R/Frank Rinehart

Frank Rinehart était un photographe portraitiste états-unien, né le 12 février 1861 à Lodi, Illinois et décédé le 17 décembre 1928 à Omaha, Nebraska. Il a travaillé aux Etats-Unis et on lui doit, entre autres, de nombreux portraits d'Indiens, ainsi que des photos stéréoscopiques.

Photographie/Fabricants/KMZ/KMZ Zenit 510

Commentaires.
Cet appareil a été produit à 12 821 exemplaires. Afin de rester présente sur le marché après que Lomo a arrêté ses productions d'appareils à bon marché, KMZ et la société japonaise Toptronic ont lancé une nouvelle série d'appareils appelés Zenit-510, Zenit-520, Zenit-610 et Zenit-620, appelée série Skina. L'opération a cessé après la réorganisation de Toptronic.

Photographie/Personnalités/H/Carl Christian Hansen