| 1 |
<!-- $Header: /var/lib/cvs/pgsql-fr/sgml/charset.sgml,v 1.6.2.3 2005/07/15 06:33:35 guillaume Exp $ --> |
|---|
| 2 |
|
|---|
| 3 |
<chapter id="charset"> |
|---|
| 4 |
<title>Localisation</> |
|---|
| 5 |
|
|---|
| 6 |
<para> |
|---|
| 7 |
Ce chapitre décrit les fonctionnalités disponibles pour la localisation |
|---|
| 8 |
du point de vue de l'administrateur. |
|---|
| 9 |
<productname>PostgreSQL</productname> supporte la localisation en utilisant |
|---|
| 10 |
deux approches: |
|---|
| 11 |
|
|---|
| 12 |
<itemizedlist> |
|---|
| 13 |
<listitem> |
|---|
| 14 |
<para> |
|---|
| 15 |
Utiliser les fonctionnalités de locale du système d'exploitation pour donner |
|---|
| 16 |
un ordonnancement de tri, formatage de chiffre, des messages traduits et |
|---|
| 17 |
et autres aspects spécifiques à la locale. |
|---|
| 18 |
</para> |
|---|
| 19 |
</listitem> |
|---|
| 20 |
|
|---|
| 21 |
<listitem> |
|---|
| 22 |
<para> |
|---|
| 23 |
Donner un certain nombre de jeu de caractères différents définis dans le |
|---|
| 24 |
serveur <productname>PostgreSQL</productname>, y compris |
|---|
| 25 |
des jeux de caractères multi-bit, pour permettre de stocker du texte dans |
|---|
| 26 |
toutes sortes de langues, et offrir la traduction de jeu de caractère entre |
|---|
| 27 |
serveur et client. |
|---|
| 28 |
</para> |
|---|
| 29 |
</listitem> |
|---|
| 30 |
</itemizedlist> |
|---|
| 31 |
</para> |
|---|
| 32 |
|
|---|
| 33 |
|
|---|
| 34 |
<sect1 id="locale"> |
|---|
| 35 |
<title>Support de Locale</title> |
|---|
| 36 |
|
|---|
| 37 |
<indexterm zone="locale"><primary>locale</></> |
|---|
| 38 |
|
|---|
| 39 |
<para> |
|---|
| 40 |
Le support de <firstterm>Locale</firstterm> fait référence à une application respectant les |
|---|
| 41 |
préférences culturelles en ce qui concerne les alphabets, le tri, le formatage |
|---|
| 42 |
des nombres, etc. <productname>PostgreSQL</> utilise les possibilités du standard |
|---|
| 43 |
ISO C et de la locale <acronym>POSIX</acronym> fourni par le système d'exploitation |
|---|
| 44 |
serveur. Pour plus d'information, consultez la documentation de votre serveur. |
|---|
| 45 |
</para> |
|---|
| 46 |
|
|---|
| 47 |
<sect2> |
|---|
| 48 |
<title>Vue d'ensemble</> |
|---|
| 49 |
|
|---|
| 50 |
<para> |
|---|
| 51 |
Le support de locale est automatiquement initialisé lorsque un cluster de base de données |
|---|
| 52 |
est créé avec <command>initdb</command>. <command>initdb</command> va initialiser le cluster |
|---|
| 53 |
avec la valeur de locale de son environnement d'exécution; donc, si votre système est déjà |
|---|
| 54 |
paramétré pour utiliser la locale que vous voulez dans votre cluster, vous n'avez rien |
|---|
| 55 |
d'autre à faire. Si vous voulez utiliser une locale différente (ou si vous n'êtes pas sur |
|---|
| 56 |
de la locale qu'utilise votre système), vous pouvez dire à <command>initdb</command> exactement |
|---|
| 57 |
quel locale vous voulez utiliser avec l'option <option>--locale</option>. Par exemple: |
|---|
| 58 |
<screen> |
|---|
| 59 |
initdb --locale=sv_SE |
|---|
| 60 |
</screen> |
|---|
| 61 |
</para> |
|---|
| 62 |
|
|---|
| 63 |
<para> |
|---|
| 64 |
Cette exemple met la locale à Suédois (<literal>sv</>) tel que parlé en |
|---|
| 65 |
Suède (<literal>SE</>). D'autres possibilités pourraient être |
|---|
| 66 |
<literal>en_US</> (l'anglais Américain) et <literal>fr_CA</> (Canada, |
|---|
| 67 |
Français). Si plus d'un jeu de caractères peuvent être utile pour une locale |
|---|
| 68 |
alors la spécification ressemble à ceci: |
|---|
| 69 |
<literal>cs_CZ.ISO8859-2</>. Quels locales sont disponibles sous quels noms dépend |
|---|
| 70 |
de l'éditeur de votre système d'exploitation et de ce qui est installé. |
|---|
| 71 |
</para> |
|---|
| 72 |
|
|---|
| 73 |
<para> |
|---|
| 74 |
De façon occasionnelle, il est utile de mélanger les règles de plusieurs locales, i.e., |
|---|
| 75 |
utiliser les règles de tri anglais mais des messages en espagnol. Pour permettre ceci, |
|---|
| 76 |
des sous-catégories de locales existent qui ne contrôlent qu'un certain aspect des règles |
|---|
| 77 |
de localisation. |
|---|
| 78 |
|
|---|
| 79 |
<informaltable> |
|---|
| 80 |
<tgroup cols="2"> |
|---|
| 81 |
<tbody> |
|---|
| 82 |
<row> |
|---|
| 83 |
<entry><envar>LC_COLLATE</></> |
|---|
| 84 |
<entry>Ordre de tri des chaînes de caractères</> |
|---|
| 85 |
</row> |
|---|
| 86 |
<row> |
|---|
| 87 |
<entry><envar>LC_CTYPE</></> |
|---|
| 88 |
<entry>Classification de caractères(Qu'est ce qu'une lettre ? La majuscule équivalente ?)</> |
|---|
| 89 |
</row> |
|---|
| 90 |
<row> |
|---|
| 91 |
<entry><envar>LC_MESSAGES</></> |
|---|
| 92 |
<entry>Langage des messages</> |
|---|
| 93 |
</row> |
|---|
| 94 |
<row> |
|---|
| 95 |
<entry><envar>LC_MONETARY</></> |
|---|
| 96 |
<entry>Formatage des montants de monnaie</> |
|---|
| 97 |
</row> |
|---|
| 98 |
<row> |
|---|
| 99 |
<entry><envar>LC_NUMERIC</></> |
|---|
| 100 |
<entry>Formatage des nombres</> |
|---|
| 101 |
</row> |
|---|
| 102 |
<row> |
|---|
| 103 |
<entry><envar>LC_TIME</></> |
|---|
| 104 |
<entry>Formatage des dates et heures</> |
|---|
| 105 |
</row> |
|---|
| 106 |
</tbody> |
|---|
| 107 |
</tgroup> |
|---|
| 108 |
</informaltable> |
|---|
| 109 |
|
|---|
| 110 |
Les noms des catégories se traduisent en noms d'options |
|---|
| 111 |
<command>initdb</command> pour surcharger le choix de locale |
|---|
| 112 |
pour une catégorie donnée. Par exemple, pour mettre la locale en |
|---|
| 113 |
français canadien tout en utilisant les règles américaines pour le |
|---|
| 114 |
formatage de monnaie, utilisez |
|---|
| 115 |
<literal>initdb --locale=fr_CA --lc-monetary=en_US</literal>. |
|---|
| 116 |
</para> |
|---|
| 117 |
|
|---|
| 118 |
<para> |
|---|
| 119 |
Si vous voulez que le système se comporte comme s'il n'avait pas de |
|---|
| 120 |
support de locale, utilisez les locales spéciales <literal>C</> ou |
|---|
| 121 |
<literal>POSIX</>. |
|---|
| 122 |
</para> |
|---|
| 123 |
|
|---|
| 124 |
<para> |
|---|
| 125 |
La nature de ces catégories de locales est que leur valeur doit être |
|---|
| 126 |
fixées pour la durée de vie d'un cluster de base de données. |
|---|
| 127 |
C'est a dire qu'une fois <command>initdb</command> lancée, on ne peut |
|---|
| 128 |
plus les changer. |
|---|
| 129 |
<literal>LC_COLLATE</literal> et <literal>LC_CTYPE</literal> sont ces |
|---|
| 130 |
catégories. Ils affectent l'ordre de tri des index, donc ils doivent |
|---|
| 131 |
rester fixes, ou les index sur les colonnes de texte deviendront |
|---|
| 132 |
corrompus. |
|---|
| 133 |
<productname>PostgreSQL</productname> applique ceci en enregistrant |
|---|
| 134 |
les valeurs de <envar>LC_COLLATE</> et <envar>LC_CTYPE</> qui sont vus |
|---|
| 135 |
par <command>initdb</>. Le serveur adopte automatiquement ces deux |
|---|
| 136 |
valeurs lorsqu'il est lancé. |
|---|
| 137 |
</para> |
|---|
| 138 |
|
|---|
| 139 |
<para> |
|---|
| 140 |
Les autres catégories de locale peuvent être changés comme désiré lorsque |
|---|
| 141 |
le serveur est lancé en fixant les variables d'environnement qui ont le |
|---|
| 142 |
même nom que les catégories de locale (voir <xref |
|---|
| 143 |
linkend="runtime-config"> pour plus de détails). Les valeurs par défaut |
|---|
| 144 |
choisies par <command>initdb</command> sont en fait seulement écrits dans |
|---|
| 145 |
le fichier de configuration <filename>postgresql.conf</filename> pour servir |
|---|
| 146 |
de valeur par défaut quand le serveur est lancé. Si vous effacez ces |
|---|
| 147 |
déclarations de <filename>postgresql.conf</filename>, alors le serveur |
|---|
| 148 |
héritera des paramètres de l'environnement d'exécution. |
|---|
| 149 |
</para> |
|---|
| 150 |
|
|---|
| 151 |
<para> |
|---|
| 152 |
Notez que le comportement de locale du serveur est déterminé par les |
|---|
| 153 |
variables d'environnement vues par le serveur, pas l'environnement d'un |
|---|
| 154 |
client quelconque. Alors, faites attention de configurer les bons paramètres |
|---|
| 155 |
de locale avant de lancer le serveur. Une conséquence de ceci est que, si le |
|---|
| 156 |
client et le serveur ont des locales différents, les messages apparaîtront |
|---|
| 157 |
dans des langues différents suivant d'où ils viennent. |
|---|
| 158 |
</para> |
|---|
| 159 |
|
|---|
| 160 |
<note> |
|---|
| 161 |
<para> |
|---|
| 162 |
Lorsqu'on parle d'hériter la locale de l'environnement d'exécution, ceci veut |
|---|
| 163 |
dire la chose suivante sur la plupart des systèmes d'exploitation: |
|---|
| 164 |
Pour une catégorie de locale donnée, disons l'ordonnancement, les variables |
|---|
| 165 |
d'environnement suivantes sont consultées dans cet ordre jusqu'à ce qu'on en |
|---|
| 166 |
trouve une de fixée: <envar>LC_ALL</envar>, <envar>LC_COLLATE</envar> (la |
|---|
| 167 |
variable correspondante à la catégorie respective), |
|---|
| 168 |
<envar>LANG</envar>. Si aucune de ces variables n'est fixée, alors on utilise |
|---|
| 169 |
la locale par défaut de <literal>C</literal>. |
|---|
| 170 |
</para> |
|---|
| 171 |
|
|---|
| 172 |
<para> |
|---|
| 173 |
Certaines bibliothèques de localisation regardent aussi la variable |
|---|
| 174 |
d'environnement <envar>LANGUAGE</envar> qui surcharge tout autre |
|---|
| 175 |
paramètre pour le besoin de fixer la langue des messages. Si vous |
|---|
| 176 |
doutez, lisez la documentation de votre système d'exploitation, |
|---|
| 177 |
en particulier la documentation à propos de |
|---|
| 178 |
<application>gettext</>, pour plus d'information. |
|---|
| 179 |
</para> |
|---|
| 180 |
</note> |
|---|
| 181 |
|
|---|
| 182 |
<para> |
|---|
| 183 |
Pour permettre la traduction des messages dans la langue préférée de |
|---|
| 184 |
l'utilisateur, <acronym>NLS</acronym> doit être activé pendant la |
|---|
| 185 |
compilation. Ce choix est indépendant d'autre support de locale. |
|---|
| 186 |
</para> |
|---|
| 187 |
</sect2> |
|---|
| 188 |
|
|---|
| 189 |
<sect2> |
|---|
| 190 |
<title>Avantages</> |
|---|
| 191 |
|
|---|
| 192 |
<para> |
|---|
| 193 |
Le support de locale influence en particulier les fonctionnalités suivantes: |
|---|
| 194 |
|
|---|
| 195 |
<itemizedlist> |
|---|
| 196 |
<listitem> |
|---|
| 197 |
<para> |
|---|
| 198 |
Ordre de tri dans les requêtes utilisant <command>ORDER BY</> |
|---|
| 199 |
<indexterm><primary>ORDER BY</><secondary>et les locales</></indexterm> |
|---|
| 200 |
</para> |
|---|
| 201 |
</listitem> |
|---|
| 202 |
|
|---|
| 203 |
<listitem> |
|---|
| 204 |
<para> |
|---|
| 205 |
La famille de fonctions <function>to_char</> |
|---|
| 206 |
</para> |
|---|
| 207 |
</listitem> |
|---|
| 208 |
</itemizedlist> |
|---|
| 209 |
</para> |
|---|
| 210 |
|
|---|
| 211 |
<para> |
|---|
| 212 |
Le seul inconvénient sévère d'utiliser le support de locale dans |
|---|
| 213 |
<productname>PostgreSQL</> est sa vitesse. Alors utilisez les locales |
|---|
| 214 |
seulement si vous en avez besoin. |
|---|
| 215 |
</para> |
|---|
| 216 |
</sect2> |
|---|
| 217 |
|
|---|
| 218 |
<sect2> |
|---|
| 219 |
<title>Problèmes</> |
|---|
| 220 |
|
|---|
| 221 |
<para> |
|---|
| 222 |
Si le support de locale ne fonctionne pas malgré l'explication ci-dessus, |
|---|
| 223 |
vérifiez que le support de locale de votre système d'exploitation est |
|---|
| 224 |
correctement configuré. Pour vérifier quelles locales sont installées sur |
|---|
| 225 |
votre système, vous pouvez utiliser la commande <literal>locale -a</literal> |
|---|
| 226 |
si votre système d'exploitation le fournit. |
|---|
| 227 |
</para> |
|---|
| 228 |
|
|---|
| 229 |
<para> |
|---|
| 230 |
Vérifiez que <productname>PostgreSQL</productname> utilise vraiment la locale |
|---|
| 231 |
que vous supposez. Les paramètres <envar>LC_COLLATE</envar> et <envar>LC_CTYPE</envar> |
|---|
| 232 |
sont déterminés lors de <command>initdb</command> et ne peuvent pas être modifiés |
|---|
| 233 |
sans répéter <command>initdb</command>. D'autres paramètres de locale, y compris |
|---|
| 234 |
<envar>LC_MESSAGES</envar> et <envar>LC_MONETARY</envar> sont déterminés initialement |
|---|
| 235 |
par l'environnement dans lequel le serveur est lancé. Vous pouvez vérifier |
|---|
| 236 |
les paramètres <envar>LC_COLLATE</envar> et <envar>LC_CTYPE</envar> d'une base de données |
|---|
| 237 |
avec l'utilitaire <command>pg_controldata</command>. |
|---|
| 238 |
</para> |
|---|
| 239 |
|
|---|
| 240 |
<para> |
|---|
| 241 |
Le répertoire <filename>src/test/locale</filename> dans la distribution du source |
|---|
| 242 |
contient une série de tests pour le support de locale dans <productname>PostgreSQL</productname>. |
|---|
| 243 |
</para> |
|---|
| 244 |
|
|---|
| 245 |
<para> |
|---|
| 246 |
Les applications clientes qui gèrent les erreurs côté serveur en analysant le texte |
|---|
| 247 |
du message d'erreur auront, bien sur, des problèmes lorsque les messages |
|---|
| 248 |
sont dans une langue différente. Les auteurs de telles applications sont |
|---|
| 249 |
invités à utiliser le schéma de code d'erreur à la place. |
|---|
| 250 |
</para> |
|---|
| 251 |
|
|---|
| 252 |
<para> |
|---|
| 253 |
Maintenir des catalogues de traductions de messages requiert les |
|---|
| 254 |
efforts permanents de beaucoup de volontaires qui souhaitent voir |
|---|
| 255 |
<productname>PostgreSQL</productname> bien interpréter leur langue préférée. |
|---|
| 256 |
Si des messages dans votre langue ne sont pas disponibles ou complètement |
|---|
| 257 |
traduits, votre aide serait très appréciée. Si vous voulez aider, |
|---|
| 258 |
consultez le <xref linkend="nls"> ou écrivez à la liste de diffusion des |
|---|
| 259 |
développeurs. |
|---|
| 260 |
</para> |
|---|
| 261 |
</sect2> |
|---|
| 262 |
</sect1> |
|---|
| 263 |
|
|---|
| 264 |
|
|---|
| 265 |
<sect1 id="multibyte"> |
|---|
| 266 |
<title>Support des jeux de caractères</title> |
|---|
| 267 |
|
|---|
| 268 |
<indexterm zone="multibyte"><primary>jeu de caractère</></> |
|---|
| 269 |
|
|---|
| 270 |
<para> |
|---|
| 271 |
Le support des jeux de caractères dans <productname>PostgreSQL</productname> |
|---|
| 272 |
vous permet de rentrer du texte dans plusieurs jeux de caractères, dont |
|---|
| 273 |
des jeux de caractères à un octet tels que la série ISO 8859 et |
|---|
| 274 |
des jeux de caractères multi-octets tel que <acronym>EUC</acronym> (Extended Unix |
|---|
| 275 |
Code), Unicode et le code interne de Mule. Tous les jeux de caractères peuvent être |
|---|
| 276 |
utilisés de façon transparente au travers du serveur. (Si vous utilisez des fonctions |
|---|
| 277 |
d'extension d'autres sources, cela dépend de la qualité du code.) |
|---|
| 278 |
Le jeu de caractères par défaut est sélectionné pendant l'initialisation de |
|---|
| 279 |
votre cluster de base de données <productname>PostgreSQL</productname> |
|---|
| 280 |
avec <command>initdb</command>. Le choix peut être outrepassé lorsqu'on crée une base |
|---|
| 281 |
de données en utilisant <command>createdb</command> ou en utilisant la |
|---|
| 282 |
commande SQL <command>CREATE DATABASE</command>. Vous pouvez donc avoir de multiples bases |
|---|
| 283 |
chacune avec un jeux de caractères différents. |
|---|
| 284 |
</para> |
|---|
| 285 |
|
|---|
| 286 |
<sect2> |
|---|
| 287 |
<title>Jeux de Caractères Supportés</title> |
|---|
| 288 |
|
|---|
| 289 |
<para> |
|---|
| 290 |
Le <xref linkend="charset-table"> montre les jeux de caractères disponibles |
|---|
| 291 |
à l'utilisation sur le serveur. |
|---|
| 292 |
</para> |
|---|
| 293 |
|
|---|
| 294 |
<table id="charset-table"> |
|---|
| 295 |
<title>Jeux de Caractères Serveur</title> |
|---|
| 296 |
<tgroup cols="2"> |
|---|
| 297 |
<thead> |
|---|
| 298 |
<row> |
|---|
| 299 |
<entry>Nom</entry> |
|---|
| 300 |
<entry>Description</entry> |
|---|
| 301 |
</row> |
|---|
| 302 |
</thead> |
|---|
| 303 |
<tbody> |
|---|
| 304 |
<row> |
|---|
| 305 |
<entry><literal>SQL_ASCII</literal></entry> |
|---|
| 306 |
<entry><acronym>ASCII</acronym></entry> |
|---|
| 307 |
</row> |
|---|
| 308 |
<row> |
|---|
| 309 |
<entry><literal>EUC_JP</literal></entry> |
|---|
| 310 |
<entry>Japonais <acronym>EUC</></entry> |
|---|
| 311 |
</row> |
|---|
| 312 |
<row> |
|---|
| 313 |
<entry><literal>EUC_CN</literal></entry> |
|---|
| 314 |
<entry>Chinois <acronym>EUC</></entry> |
|---|
| 315 |
</row> |
|---|
| 316 |
<row> |
|---|
| 317 |
<entry><literal>EUC_KR</literal></entry> |
|---|
| 318 |
<entry>Coréen <acronym>EUC</></entry> |
|---|
| 319 |
</row> |
|---|
| 320 |
<row> |
|---|
| 321 |
<entry><literal>JOHAB</literal></entry> |
|---|
| 322 |
<entry>Coréen <acronym>EUC</> (base Hangle)</entry> |
|---|
| 323 |
</row> |
|---|
| 324 |
<row> |
|---|
| 325 |
<entry><literal>EUC_TW</literal></entry> |
|---|
| 326 |
<entry>Taiwanais <acronym>EUC</acronym></entry> |
|---|
| 327 |
</row> |
|---|
| 328 |
<row> |
|---|
| 329 |
<entry><literal>UNICODE</literal></entry> |
|---|
| 330 |
<entry>Unicode (<acronym>UTF</acronym>-8)</entry> |
|---|
| 331 |
</row> |
|---|
| 332 |
<row> |
|---|
| 333 |
<entry><literal>MULE_INTERNAL</literal></entry> |
|---|
| 334 |
<entry>Code interne de Mule</entry> |
|---|
| 335 |
</row> |
|---|
| 336 |
<row> |
|---|
| 337 |
<entry><literal>LATIN1</literal></entry> |
|---|
| 338 |
<entry>ISO 8859-1/<acronym>ECMA</> 94 (Alaphabet latin no.1)</entry> |
|---|
| 339 |
</row> |
|---|
| 340 |
<row> |
|---|
| 341 |
<entry><literal>LATIN2</literal></entry> |
|---|
| 342 |
<entry>ISO 8859-2/<acronym>ECMA</> 94 (Alaphabet latin no.2)</entry> |
|---|
| 343 |
</row> |
|---|
| 344 |
<row> |
|---|
| 345 |
<entry><literal>LATIN3</literal></entry> |
|---|
| 346 |
<entry>ISO 8859-3/<acronym>ECMA</> 94 (Alaphabet latin no.3)</entry> |
|---|
| 347 |
</row> |
|---|
| 348 |
<row> |
|---|
| 349 |
<entry><literal>LATIN4</literal></entry> |
|---|
| 350 |
<entry>ISO 8859-4/<acronym>ECMA</> 94 (Alaphabet latin no.4)</entry> |
|---|
| 351 |
</row> |
|---|
| 352 |
<row> |
|---|
| 353 |
<entry><literal>LATIN5</literal></entry> |
|---|
| 354 |
<entry>ISO 8859-9/<acronym>ECMA</> 128 (Alaphabet latin no.5)</entry> |
|---|
| 355 |
</row> |
|---|
| 356 |
<row> |
|---|
| 357 |
<entry><literal>LATIN6</literal></entry> |
|---|
| 358 |
<entry>ISO 8859-10/<acronym>ECMA</> 144 (Alaphabet latin no.6)</entry> |
|---|
| 359 |
</row> |
|---|
| 360 |
<row> |
|---|
| 361 |
<entry><literal>LATIN7</literal></entry> |
|---|
| 362 |
<entry>ISO 8859-13 (Alaphabet latin no.7)</entry> |
|---|
| 363 |
</row> |
|---|
| 364 |
<row> |
|---|
| 365 |
<entry><literal>LATIN8</literal></entry> |
|---|
| 366 |
<entry>ISO 8859-14 (Alaphabet latin no.8)</entry> |
|---|
| 367 |
</row> |
|---|
| 368 |
<row> |
|---|
| 369 |
<entry><literal>LATIN9</literal></entry> |
|---|
| 370 |
<entry>ISO 8859-15 (Alaphabet latin no.9)</entry> |
|---|
| 371 |
</row> |
|---|
| 372 |
<row> |
|---|
| 373 |
<entry><literal>LATIN10</literal></entry> |
|---|
| 374 |
<entry>ISO 8859-16/<acronym>ASRO</> SR 14111 (Alaphabet latin no.10)</entry> |
|---|
| 375 |
</row> |
|---|
| 376 |
<row> |
|---|
| 377 |
<entry><literal>ISO_8859_5</literal></entry> |
|---|
| 378 |
<entry>ISO 8859-5/<acronym>ECMA</> 113 (Latin/Cyrillique)</entry> |
|---|
| 379 |
</row> |
|---|
| 380 |
<row> |
|---|
| 381 |
<entry><literal>ISO_8859_6</literal></entry> |
|---|
| 382 |
<entry>ISO 8859-6/<acronym>ECMA</> 114 (Latin/Arabe)</entry> |
|---|
| 383 |
</row> |
|---|
| 384 |
<row> |
|---|
| 385 |
<entry><literal>ISO_8859_7</literal></entry> |
|---|
| 386 |
<entry>ISO 8859-7/<acronym>ECMA</> 118 (Latin/Greque)</entry> |
|---|
| 387 |
</row> |
|---|
| 388 |
<row> |
|---|
| 389 |
<entry><literal>ISO_8859_8</literal></entry> |
|---|
| 390 |
<entry>ISO 8859-8/<acronym>ECMA</> 121 (Latin/Hebrew)</entry> |
|---|
| 391 |
</row> |
|---|
| 392 |
<row> |
|---|
| 393 |
<entry><literal>KOI8</literal></entry> |
|---|
| 394 |
<entry><acronym>KOI</acronym>8-R(U)</entry> |
|---|
| 395 |
</row> |
|---|
| 396 |
<row> |
|---|
| 397 |
<entry><literal>WIN</literal></entry> |
|---|
| 398 |
<entry>Windows CP1251</entry> |
|---|
| 399 |
</row> |
|---|
| 400 |
<row> |
|---|
| 401 |
<entry><literal>ALT</literal></entry> |
|---|
| 402 |
<entry>Windows CP866</entry> |
|---|
| 403 |
</row> |
|---|
| 404 |
<row> |
|---|
| 405 |
<entry><literal>WIN1256</literal></entry> |
|---|
| 406 |
<entry>Windows CP1256 (Arabic)</entry> |
|---|
| 407 |
</row> |
|---|
| 408 |
<row> |
|---|
| 409 |
<entry><literal>TCVN</literal></entry> |
|---|
| 410 |
<entry><acronym>TCVN</>-5712/Windows CP1258 (Vietnamien)</entry> |
|---|
| 411 |
</row> |
|---|
| 412 |
<row> |
|---|
| 413 |
<entry><literal>WIN874</literal></entry> |
|---|
| 414 |
<entry>Windows CP874 (Thai)</entry> |
|---|
| 415 |
</row> |
|---|
| 416 |
</tbody> |
|---|
| 417 |
</tgroup> |
|---|
| 418 |
</table> |
|---|
| 419 |
|
|---|
| 420 |
<important> |
|---|
| 421 |
<para> |
|---|
| 422 |
Avant <productname>PostgreSQL</> 7.2, <literal>LATIN5</> |
|---|
| 423 |
signifiait, à tort, ISO 8859-5. A partir de 7.2, <literal>LATIN5</> |
|---|
| 424 |
signifie ISO 8859-9. Si vous avez une base <literal>LATIN5</> |
|---|
| 425 |
créée sur une version 7.1 ou antérieure et vous voulez migrer vers 7.2 |
|---|
| 426 |
ou une version plus récente, |
|---|
| 427 |
vous devriez faire attention à ce changement. |
|---|
| 428 |
</para> |
|---|
| 429 |
</important> |
|---|
| 430 |
|
|---|
| 431 |
<para> |
|---|
| 432 |
Tout les <acronym>API</>s ne supportent pas les jeux de caractères de la liste. |
|---|
| 433 |
Par exemple, |
|---|
| 434 |
le pilot JDBC de <productname>PostgreSQL</> |
|---|
| 435 |
ne supporte pas <literal>MULE_INTERNAL</>, <literal>LATIN6</>, |
|---|
| 436 |
<literal>LATIN8</> et <literal>LATIN10</>. |
|---|
| 437 |
</para> |
|---|
| 438 |
</sect2> |
|---|
| 439 |
|
|---|
| 440 |
<sect2> |
|---|
| 441 |
<title>Choisir le Jeu de Caractères</title> |
|---|
| 442 |
|
|---|
| 443 |
<para> |
|---|
| 444 |
<command>initdb</> définit le jeu de caractères par défaut |
|---|
| 445 |
pour un cluster <productname>PostgreSQL</productname>. Par exemple, |
|---|
| 446 |
|
|---|
| 447 |
<screen> |
|---|
| 448 |
initdb -E EUC_JP |
|---|
| 449 |
</screen> |
|---|
| 450 |
|
|---|
| 451 |
paramètre le jeu de caractères (codage) à |
|---|
| 452 |
<literal>EUC_JP</literal> (Extended Unix Code for Japanese). Vous |
|---|
| 453 |
pouvez utiliser l'option <option>--encoding</option> au lieu de |
|---|
| 454 |
<option>-E</option> si vous préférez saisir les noms d'options longs. |
|---|
| 455 |
Si aucune option <option>-E</> ou <option>--encoding</option> n'est |
|---|
| 456 |
donnée, <literal>SQL_ASCII</> est utilisé. |
|---|
| 457 |
</para> |
|---|
| 458 |
|
|---|
| 459 |
<para> |
|---|
| 460 |
Vous pouvez créer une base de données avec un jeu de caractère différent: |
|---|
| 461 |
|
|---|
| 462 |
<screen> |
|---|
| 463 |
createdb -E EUC_KR korean |
|---|
| 464 |
</screen> |
|---|
| 465 |
|
|---|
| 466 |
Ceci va créer une base de données appelée <literal>korean</literal> qui |
|---|
| 467 |
utilisera le jeu de caractère <literal>EUC_KR</literal>. Un autre moyen de |
|---|
| 468 |
réaliser ceci est d'utiliser cette commande SQL : |
|---|
| 469 |
|
|---|
| 470 |
<programlisting> |
|---|
| 471 |
CREATE DATABASE korean WITH ENCODING 'EUC_KR'; |
|---|
| 472 |
</programlisting> |
|---|
| 473 |
|
|---|
| 474 |
L'encodage pour une base de données est conservé dans le catalogue système |
|---|
| 475 |
<literal>pg_database</literal>. Vous pouvez voir ceci en utilisant l'option |
|---|
| 476 |
<option>-l</option> ou la commande <command>\l</command> de <command>psql</command>. |
|---|
| 477 |
|
|---|
| 478 |
<screen> |
|---|
| 479 |
$ <userinput>psql -l</userinput> |
|---|
| 480 |
List of databases |
|---|
| 481 |
Database | Owner | Encoding |
|---|
| 482 |
---------------+---------+--------------- |
|---|
| 483 |
euc_cn | t-ishii | EUC_CN |
|---|
| 484 |
euc_jp | t-ishii | EUC_JP |
|---|
| 485 |
euc_kr | t-ishii | EUC_KR |
|---|
| 486 |
euc_tw | t-ishii | EUC_TW |
|---|
| 487 |
mule_internal | t-ishii | MULE_INTERNAL |
|---|
| 488 |
regression | t-ishii | SQL_ASCII |
|---|
| 489 |
template1 | t-ishii | EUC_JP |
|---|
| 490 |
test | t-ishii | EUC_JP |
|---|
| 491 |
unicode | t-ishii | UNICODE |
|---|
| 492 |
(9 rows) |
|---|
| 493 |
</screen> |
|---|
| 494 |
</para> |
|---|
| 495 |
</sect2> |
|---|
| 496 |
|
|---|
| 497 |
<sect2> |
|---|
| 498 |
<title>Conversion de Jeu de Caractères Automatique entre Serveur et Client</title> |
|---|
| 499 |
|
|---|
| 500 |
<para> |
|---|
| 501 |
<productname>PostgreSQL</productname> supporte les conversions |
|---|
| 502 |
automatiques de jeu de caractères entre client et serveur pour |
|---|
| 503 |
certains jeux de caractères. Les informations de conversion sont |
|---|
| 504 |
conservés dans le catalogue système <literal>pg_conversion</>. |
|---|
| 505 |
Vous pouvez créer une nouvelle conversion en utilisant la commande |
|---|
| 506 |
SQL <command>CREATE CONVERSION</command>. <productname>PostgreSQL</productname> |
|---|
| 507 |
est livré avec certaines conversions prédéfinies. Ils sont listés dans <xref |
|---|
| 508 |
linkend="multibyte-translation-table">. |
|---|
| 509 |
</para> |
|---|
| 510 |
|
|---|
| 511 |
<table id="multibyte-translation-table"> |
|---|
| 512 |
<title>Conversion de Jeux de Caractères Client/Serveur</title> |
|---|
| 513 |
<tgroup cols="2"> |
|---|
| 514 |
<thead> |
|---|
| 515 |
<row> |
|---|
| 516 |
<entry>Jeu de Caractères Serveur</entry> |
|---|
| 517 |
<entry>Jeux de Caractères Clients Disponibles</entry> |
|---|
| 518 |
</row> |
|---|
| 519 |
</thead> |
|---|
| 520 |
<tbody> |
|---|
| 521 |
<row> |
|---|
| 522 |
<entry><literal>SQL_ASCII</literal></entry> |
|---|
| 523 |
<entry><literal>SQL_ASCII</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 524 |
</entry> |
|---|
| 525 |
</row> |
|---|
| 526 |
<row> |
|---|
| 527 |
<entry><literal>EUC_JP</literal></entry> |
|---|
| 528 |
<entry><literal>EUC_JP</literal>, <literal>SJIS</literal>, |
|---|
| 529 |
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 530 |
</entry> |
|---|
| 531 |
</row> |
|---|
| 532 |
<row> |
|---|
| 533 |
<entry><literal>EUC_CN</literal></entry> |
|---|
| 534 |
<entry><literal>EUC_CN</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 535 |
</entry> |
|---|
| 536 |
</row> |
|---|
| 537 |
<row> |
|---|
| 538 |
<entry><literal>EUC_KR</literal></entry> |
|---|
| 539 |
<entry><literal>EUC_KR</literal>, <literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 540 |
</entry> |
|---|
| 541 |
</row> |
|---|
| 542 |
<row> |
|---|
| 543 |
<entry><literal>JOHAB</literal></entry> |
|---|
| 544 |
<entry><literal>JOHAB</literal>, <literal>UNICODE</literal> |
|---|
| 545 |
</entry> |
|---|
| 546 |
</row> |
|---|
| 547 |
<row> |
|---|
| 548 |
<entry><literal>EUC_TW</literal></entry> |
|---|
| 549 |
<entry><literal>EUC_TW</literal>, <literal>BIG5</literal>, |
|---|
| 550 |
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 551 |
</entry> |
|---|
| 552 |
</row> |
|---|
| 553 |
<row> |
|---|
| 554 |
<entry><literal>LATIN1</literal></entry> |
|---|
| 555 |
<entry><literal>LATIN1</literal>, <literal>UNICODE</literal> |
|---|
| 556 |
<literal>MULE_INTERNAL</literal> |
|---|
| 557 |
</entry> |
|---|
| 558 |
</row> |
|---|
| 559 |
<row> |
|---|
| 560 |
<entry><literal>LATIN2</literal></entry> |
|---|
| 561 |
<entry><literal>LATIN2</literal>, <literal>WIN1250</literal>, |
|---|
| 562 |
<literal>UNICODE</literal>, |
|---|
| 563 |
<literal>MULE_INTERNAL</literal> |
|---|
| 564 |
</entry> |
|---|
| 565 |
</row> |
|---|
| 566 |
<row> |
|---|
| 567 |
<entry><literal>LATIN3</literal></entry> |
|---|
| 568 |
<entry><literal>LATIN3</literal>, <literal>UNICODE</literal>, |
|---|
| 569 |
<literal>MULE_INTERNAL</literal> |
|---|
| 570 |
</entry> |
|---|
| 571 |
</row> |
|---|
| 572 |
<row> |
|---|
| 573 |
<entry><literal>LATIN4</literal></entry> |
|---|
| 574 |
<entry><literal>LATIN4</literal>, <literal>UNICODE</literal>, |
|---|
| 575 |
<literal>MULE_INTERNAL</literal> |
|---|
| 576 |
</entry> |
|---|
| 577 |
</row> |
|---|
| 578 |
<row> |
|---|
| 579 |
<entry><literal>LATIN5</literal></entry> |
|---|
| 580 |
<entry><literal>LATIN5</literal>, <literal>UNICODE</literal> |
|---|
| 581 |
</entry> |
|---|
| 582 |
</row> |
|---|
| 583 |
<row> |
|---|
| 584 |
<entry><literal>LATIN6</literal></entry> |
|---|
| 585 |
<entry><literal>LATIN6</literal>, <literal>UNICODE</literal>, |
|---|
| 586 |
<literal>MULE_INTERNAL</literal> |
|---|
| 587 |
</entry> |
|---|
| 588 |
</row> |
|---|
| 589 |
<row> |
|---|
| 590 |
<entry><literal>LATIN7</literal></entry> |
|---|
| 591 |
<entry><literal>LATIN7</literal>, <literal>UNICODE</literal>, |
|---|
| 592 |
<literal>MULE_INTERNAL</literal> |
|---|
| 593 |
</entry> |
|---|
| 594 |
</row> |
|---|
| 595 |
<row> |
|---|
| 596 |
<entry><literal>LATIN8</literal></entry> |
|---|
| 597 |
<entry><literal>LATIN8</literal>, <literal>UNICODE</literal>, |
|---|
| 598 |
<literal>MULE_INTERNAL</literal> |
|---|
| 599 |
</entry> |
|---|
| 600 |
</row> |
|---|
| 601 |
<row> |
|---|
| 602 |
<entry><literal>LATIN9</literal></entry> |
|---|
| 603 |
<entry><literal>LATIN9</literal>, <literal>UNICODE</literal>, |
|---|
| 604 |
<literal>MULE_INTERNAL</literal> |
|---|
| 605 |
</entry> |
|---|
| 606 |
</row> |
|---|
| 607 |
<row> |
|---|
| 608 |
<entry><literal>LATIN10</literal></entry> |
|---|
| 609 |
<entry><literal>LATIN10</literal>, <literal>UNICODE</literal>, |
|---|
| 610 |
<literal>MULE_INTERNAL</literal> |
|---|
| 611 |
</entry> |
|---|
| 612 |
</row> |
|---|
| 613 |
<row> |
|---|
| 614 |
<entry><literal>ISO_8859_5</literal></entry> |
|---|
| 615 |
<entry><literal>ISO_8859_5</literal>, |
|---|
| 616 |
<literal>UNICODE</literal>, |
|---|
| 617 |
<literal>MULE_INTERNAL</literal>, |
|---|
| 618 |
<literal>WIN</literal>, |
|---|
| 619 |
<literal>ALT</literal>, |
|---|
| 620 |
<literal>KOI8</literal> |
|---|
| 621 |
</entry> |
|---|
| 622 |
</row> |
|---|
| 623 |
<row> |
|---|
| 624 |
<entry><literal>ISO_8859_6</literal></entry> |
|---|
| 625 |
<entry><literal>ISO_8859_6</literal>, |
|---|
| 626 |
<literal>UNICODE</literal> |
|---|
| 627 |
</entry> |
|---|
| 628 |
</row> |
|---|
| 629 |
<row> |
|---|
| 630 |
<entry><literal>ISO_8859_7</literal></entry> |
|---|
| 631 |
<entry><literal>ISO_8859_7</literal>, |
|---|
| 632 |
<literal>UNICODE</literal> |
|---|
| 633 |
</entry> |
|---|
| 634 |
</row> |
|---|
| 635 |
<row> |
|---|
| 636 |
<entry><literal>ISO_8859_8</literal></entry> |
|---|
| 637 |
<entry><literal>ISO_8859_8</literal>, |
|---|
| 638 |
<literal>UNICODE</literal> |
|---|
| 639 |
</entry> |
|---|
| 640 |
</row> |
|---|
| 641 |
<row> |
|---|
| 642 |
<entry><literal>UNICODE</literal></entry> |
|---|
| 643 |
<entry> |
|---|
| 644 |
<literal>EUC_JP</literal>, <literal>SJIS</literal>, |
|---|
| 645 |
<literal>EUC_KR</literal>, <literal>UHC</literal>, <literal>JOHAB</literal>, |
|---|
| 646 |
<literal>EUC_CN</literal>, <literal>GBK</literal>, |
|---|
| 647 |
<literal>EUC_TW</literal>, <literal>BIG5</literal>, |
|---|
| 648 |
<literal>LATIN1</literal> to <literal>LATIN10</literal>, |
|---|
| 649 |
<literal>ISO_8859_5</literal>, |
|---|
| 650 |
<literal>ISO_8859_6</literal>, |
|---|
| 651 |
<literal>ISO_8859_7</literal>, |
|---|
| 652 |
<literal>ISO_8859_8</literal>, |
|---|
| 653 |
<literal>WIN</literal>, <literal>ALT</literal>, |
|---|
| 654 |
<literal>KOI8</literal>, |
|---|
| 655 |
<literal>WIN1256</literal>, |
|---|
| 656 |
<literal>TCVN</literal>, |
|---|
| 657 |
<literal>WIN874</literal>, |
|---|
| 658 |
<literal>GB18030</literal>, |
|---|
| 659 |
<literal>WIN1250</literal> |
|---|
| 660 |
</entry> |
|---|
| 661 |
</row> |
|---|
| 662 |
<row> |
|---|
| 663 |
<entry><literal>MULE_INTERNAL</literal></entry> |
|---|
| 664 |
<entry><literal>EUC_JP</literal>, <literal>SJIS</literal>, <literal>EUC_KR</literal>, <literal>EUC_CN</literal>, |
|---|
| 665 |
<literal>EUC_TW</literal>, <literal>BIG5</literal>, <literal>LATIN1</literal> to <literal>LATIN5</literal>, |
|---|
| 666 |
<literal>WIN</literal>, <literal>ALT</literal>, |
|---|
| 667 |
<literal>WIN1250</literal>, |
|---|
| 668 |
<literal>BIG5</literal>, <literal>ISO_8859_5</literal>, <literal>KOI8</literal></entry> |
|---|
| 669 |
</row> |
|---|
| 670 |
<row> |
|---|
| 671 |
<entry><literal>KOI8</literal></entry> |
|---|
| 672 |
<entry><literal>ISO_8859_5</literal>, <literal>WIN</literal>, |
|---|
| 673 |
<literal>ALT</literal>, <literal>KOI8</literal>, |
|---|
| 674 |
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 675 |
</entry> |
|---|
| 676 |
</row> |
|---|
| 677 |
<row> |
|---|
| 678 |
<entry><literal>WIN</literal></entry> |
|---|
| 679 |
<entry><literal>ISO_8859_5</literal>, <literal>WIN</literal>, |
|---|
| 680 |
<literal>ALT</literal>, <literal>KOI8</literal>, |
|---|
| 681 |
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 682 |
</entry> |
|---|
| 683 |
</row> |
|---|
| 684 |
<row> |
|---|
| 685 |
<entry><literal>ALT</literal></entry> |
|---|
| 686 |
<entry><literal>ISO_8859_5</literal>, <literal>WIN</literal>, |
|---|
| 687 |
<literal>ALT</literal>, <literal>KOI8</literal>, |
|---|
| 688 |
<literal>UNICODE</literal>, <literal>MULE_INTERNAL</literal> |
|---|
| 689 |
</entry> |
|---|
| 690 |
</row> |
|---|
| 691 |
<row> |
|---|
| 692 |
<entry><literal>WIN1256</literal></entry> |
|---|
| 693 |
<entry><literal>WIN1256</literal>, |
|---|
| 694 |
<literal>UNICODE</literal> |
|---|
| 695 |
</entry> |
|---|
| 696 |
</row> |
|---|
| 697 |
<row> |
|---|
| 698 |
<entry><literal>TCVN</literal></entry> |
|---|
| 699 |
<entry><literal>TCVN</literal>, |
|---|
| 700 |
<literal>UNICODE</literal> |
|---|
| 701 |
</entry> |
|---|
| 702 |
</row> |
|---|
| 703 |
<row> |
|---|
| 704 |
<entry><literal>WIN874</literal></entry> |
|---|
| 705 |
<entry><literal>WIN874</literal>, |
|---|
| 706 |
<literal>UNICODE</literal> |
|---|
| 707 |
</entry> |
|---|
| 708 |
</row> |
|---|
| 709 |
</tbody> |
|---|
| 710 |
</tgroup> |
|---|
| 711 |
</table> |
|---|
| 712 |
|
|---|
| 713 |
<para> |
|---|
| 714 |
Pour activer la conversion automatique de jeux de caractères, vous devez |
|---|
| 715 |
dire à <productname>PostgreSQL</productname> quel jeu de caractères (encodage) |
|---|
| 716 |
vous voulez utiliser côté client. Il y'a plusieurs façons de faire cela: |
|---|
| 717 |
|
|---|
| 718 |
<itemizedlist> |
|---|
| 719 |
<listitem> |
|---|
| 720 |
<para> |
|---|
| 721 |
En utilisant la commande <command>\encoding</command> dans |
|---|
| 722 |
<application>psql</application>. |
|---|
| 723 |
<command>\encoding</command> vous permet de changer de jeu de caractères |
|---|
| 724 |
client à la volée. Par exemple, pour changer l'encodage en |
|---|
| 725 |
<literal>SJIS</literal>, tapez: |
|---|
| 726 |
|
|---|
| 727 |
<programlisting> |
|---|
| 728 |
\encoding SJIS |
|---|
| 729 |
</programlisting> |
|---|
| 730 |
</para> |
|---|
| 731 |
</listitem> |
|---|
| 732 |
|
|---|
| 733 |
<listitem> |
|---|
| 734 |
<para> |
|---|
| 735 |
En utilisant les fonctions <application>libpq</application>. |
|---|
| 736 |
<command>\encoding</command> appelle en fait |
|---|
| 737 |
<function>PQsetClientEncoding()</function> pour faire son travail. |
|---|
| 738 |
|
|---|
| 739 |
<synopsis> |
|---|
| 740 |
int PQsetClientEncoding(PGconn *<replaceable>conn</replaceable>, const char *<replaceable>encoding</replaceable>); |
|---|
| 741 |
</synopsis> |
|---|
| 742 |
|
|---|
| 743 |
ou <replaceable>conn</replaceable> est une connexion au serveur, |
|---|
| 744 |
et <replaceable>encoding</replaceable> est l'encodage que vous |
|---|
| 745 |
voulez utiliser. Si la fonction fixe l'encodage, elle renvoie 0, |
|---|
| 746 |
sinon -1. L'encodage actuel pour cette connexion peut être déterminé |
|---|
| 747 |
en utilisant: |
|---|
| 748 |
|
|---|
| 749 |
<synopsis> |
|---|
| 750 |
int PQclientEncoding(const PGconn *<replaceable>conn</replaceable>); |
|---|
| 751 |
</synopsis> |
|---|
| 752 |
|
|---|
| 753 |
Notez que ceci renvoie l'ID d'encodage, pas une chaîne symbolique tel que |
|---|
| 754 |
<literal>EUC_JP</literal>. Pour convertir un ID d'encodage en NOM, vous |
|---|
| 755 |
pouvez utiliser: |
|---|
| 756 |
|
|---|
| 757 |
<synopsis> |
|---|
| 758 |
char *pg_encoding_to_char(int <replaceable>encoding_id</replaceable>); |
|---|
| 759 |
</synopsis> |
|---|
| 760 |
</para> |
|---|
| 761 |
</listitem> |
|---|
| 762 |
|
|---|
| 763 |
<listitem> |
|---|
| 764 |
<para> |
|---|
| 765 |
En utilisant <command>SET client_encoding TO</command>. |
|---|
| 766 |
|
|---|
| 767 |
Fixer l'encodage client peut être fait avec cette commande SQL: |
|---|
| 768 |
|
|---|
| 769 |
<programlisting> |
|---|
| 770 |
SET CLIENT_ENCODING TO '<replaceable>valeur</>'; |
|---|
| 771 |
</programlisting> |
|---|
| 772 |
|
|---|
| 773 |
Vous pouvez aussi utiliser la syntaxe SQL plus standard <literal>SET NAMES</literal> pour ceci: |
|---|
| 774 |
|
|---|
| 775 |
<programlisting> |
|---|
| 776 |
SET NAMES '<replaceable>valeur</>'; |
|---|
| 777 |
</programlisting> |
|---|
| 778 |
|
|---|
| 779 |
Pour demander l'actuel encodage client: |
|---|
| 780 |
|
|---|
| 781 |
<programlisting> |
|---|
| 782 |
SHOW client_encoding; |
|---|
| 783 |
</programlisting> |
|---|
| 784 |
|
|---|
| 785 |
Pour revenir à l'encodage par défaut: |
|---|
| 786 |
|
|---|
| 787 |
<programlisting> |
|---|
| 788 |
RESET client_encoding; |
|---|
| 789 |
</programlisting> |
|---|
| 790 |
</para> |
|---|
| 791 |
</listitem> |
|---|
| 792 |
|
|---|
| 793 |
<listitem> |
|---|
| 794 |
<para> |
|---|
| 795 |
En utilisant <envar>PGCLIENTENCODING</envar>. |
|---|
| 796 |
|
|---|
| 797 |
Si la variable d'environnement <envar>PGCLIENTENCODING</envar> est définie |
|---|
| 798 |
dans l'environnement client, cet encodage client est automatiquement sélectionné |
|---|
| 799 |
lorsqu'une connexion au serveur est établie. (Ceci peut être surchargé avec |
|---|
| 800 |
n'importe quelle autre des méthodes ci-dessus.) |
|---|
| 801 |
</para> |
|---|
| 802 |
</listitem> |
|---|
| 803 |
|
|---|
| 804 |
<listitem> |
|---|
| 805 |
<para> |
|---|
| 806 |
En utilisant la variable de configuration <varname>client_encoding</varname>. |
|---|
| 807 |
|
|---|
| 808 |
Si la variable <varname>client_encoding</varname> dans <filename>postgresql.conf</filename> est définie, |
|---|
| 809 |
cet encodage client est automatiquement sélectionné lorsqu'une connexion au serveur est |
|---|
| 810 |
établie. (Ceci peut être surchargé avec n'importe quelle autre des méthodes ci-dessus.) |
|---|
| 811 |
</para> |
|---|
| 812 |
</listitem> |
|---|
| 813 |
|
|---|
| 814 |
</itemizedlist> |
|---|
| 815 |
</para> |
|---|
| 816 |
|
|---|
| 817 |
<para> |
|---|
| 818 |
Si la conversion d'un caractère particulier n'est pas possible -- |
|---|
| 819 |
supposons que vous avez choisi <literal>EUC_JP</literal> pour le serveur et |
|---|
| 820 |
<literal>LATIN1</literal> pour le client, alors certains caractères |
|---|
| 821 |
japonais ne pourront pas être convertis en <literal>LATIN1</literal> -- ils |
|---|
| 822 |
seront transformés en leur valeur hexadécimale entre parenthèses, |
|---|
| 823 |
i.e., <literal>(826C)</literal>. |
|---|
| 824 |
</para> |
|---|
| 825 |
</sect2> |
|---|
| 826 |
|
|---|
| 827 |
<sect2> |
|---|
| 828 |
<title>Plus de Lecture</title> |
|---|
| 829 |
|
|---|
| 830 |
<para> |
|---|
| 831 |
Ceux-ci sont de bonnes sources pour commencer à maîtriser les différents jeux de |
|---|
| 832 |
caractères. |
|---|
| 833 |
|
|---|
| 834 |
<variablelist> |
|---|
| 835 |
<varlistentry> |
|---|
| 836 |
<term><ulink url="ftp://ftp.ora.com/pub/examples/nutshell/ujip/doc/cjk.inf"></ulink></term> |
|---|
| 837 |
|
|---|
| 838 |
<listitem> |
|---|
| 839 |
<para> |
|---|
| 840 |
Des explications détaillées de <literal>EUC_JP</literal>, |
|---|
| 841 |
<literal>EUC_CN</literal>, <literal>EUC_KR</literal>, |
|---|
| 842 |
<literal>EUC_TW</literal> apparaissent dans la section 3.2. |
|---|
| 843 |
</para> |
|---|
| 844 |
</listitem> |
|---|
| 845 |
</varlistentry> |
|---|
| 846 |
|
|---|
| 847 |
<varlistentry> |
|---|
| 848 |
<term><ulink url="http://www.unicode.org/"></ulink></term> |
|---|
| 849 |
|
|---|
| 850 |
<listitem> |
|---|
| 851 |
<para> |
|---|
| 852 |
Le site web du Unicode Consortium |
|---|
| 853 |
</para> |
|---|
| 854 |
</listitem> |
|---|
| 855 |
</varlistentry> |
|---|
| 856 |
|
|---|
| 857 |
<varlistentry> |
|---|
| 858 |
<term>RFC 2044</term> |
|---|
| 859 |
|
|---|
| 860 |
<listitem> |
|---|
| 861 |
<para> |
|---|
| 862 |
<acronym>UTF</acronym>-8 est défini ici. |
|---|
| 863 |
</para> |
|---|
| 864 |
</listitem> |
|---|
| 865 |
</varlistentry> |
|---|
| 866 |
</variablelist> |
|---|
| 867 |
</para> |
|---|
| 868 |
</sect2> |
|---|
| 869 |
|
|---|
| 870 |
</sect1> |
|---|
| 871 |
|
|---|
| 872 |
</chapter> |
|---|
| 873 |
|
|---|
| 874 |
<!-- Keep this comment at the end of the file |
|---|
| 875 |
Local variables: |
|---|
| 876 |
mode:sgml |
|---|
| 877 |
sgml-omittag:nil |
|---|
| 878 |
sgml-shorttag:t |
|---|
| 879 |
sgml-minimize-attributes:nil |
|---|
| 880 |
sgml-always-quote-attributes:t |
|---|
| 881 |
sgml-indent-step:1 |
|---|
| 882 |
sgml-indent-data:t |
|---|
| 883 |
sgml-parent-document:nil |
|---|
| 884 |
sgml-default-dtd-file:"./reference.ced" |
|---|
| 885 |
sgml-exposed-tags:nil |
|---|
| 886 |
sgml-local-catalogs:("/usr/lib/sgml/catalog") |
|---|
| 887 |
sgml-local-ecat-files:nil |
|---|
| 888 |
End: |
|---|
| 889 |
--> |
|---|