diff --git a/cosmogramme/tests/php/classes/NoticeIntegrationTest.php b/cosmogramme/tests/php/classes/NoticeIntegrationTest.php
index 75cee3069038261777fca166e9e176aec436c406..455a60cf4bcea554a4fd613f507ebe4dce8d3fc1 100644
--- a/cosmogramme/tests/php/classes/NoticeIntegrationTest.php
+++ b/cosmogramme/tests/php/classes/NoticeIntegrationTest.php
@@ -1135,6 +1135,48 @@ class NoticeIntegrationUpdateExistingNoticeTest  extends NoticeIntegrationTestCa
   public function zone700aShouldBeGuibbaud() {
     $this->assertEquals('Guibbaud', $this->notice_sgbd->get_subfield('700', 'a')[0]);
   }
+
+
+  /** @test */
+  public function codifAuteurShouldBe_Christian_Guibbaud() {
+    $this->assertEquals('Christian Guibbaud', Class_CodifAuteur::find(1)->getLibelle());
+  }
+
+
+  /** @test */
+  public function codifAuteurLibelleShouldBe_Jean_P_Francois() {
+    $this->assertEquals('Jean P. François', Class_CodifAuteur::find(2)->getLibelle());
+  }
+
+
+  /** @test */
+  public function codifAuteurFormesShouldBe_FRANCOISxJEANxP() {
+    $this->assertEquals('FRANCOISxJEANxP', Class_CodifAuteur::find(2)->getFormes());
+  }
+
+
+  /** @test */
+  public function codifAuteurLibelleShouldBe_Francois_Dosse() {
+    $this->assertEquals('François Dosse', Class_CodifAuteur::find(3)->getLibelle());
+  }
+
+
+  /** @test */
+  public function codifAuteurFormesShouldBe_DOSSExFRANCOIS() {
+    $this->assertEquals('DOSSExFRANCOIS', Class_CodifAuteur::find(3)->getFormes());
+  }
+
+
+  /** @test */
+  public function codifAuteurLibelleShouldBe_Jacques_Genereux() {
+    $this->assertEquals('Jacques Généreux', Class_CodifAuteur::find(4)->getLibelle());
+  }
+
+
+  /** @test */
+  public function codifAuteurFormesShouldBe_GENEREUXxJACQUES() {
+    $this->assertEquals('GENEREUXxJACQUES', Class_CodifAuteur::find(4)->getFormes());
+  }
 }
 
 
diff --git a/cosmogramme/tests/php/classes/unimarc_chaperon_rouge.txt b/cosmogramme/tests/php/classes/unimarc_chaperon_rouge.txt
index 6d2778db87b7d19c60542ed6baf96d2032fd755a..f69f1893232ad9a3dc656fea8204d997e0271d25 100644
--- a/cosmogramme/tests/php/classes/unimarc_chaperon_rouge.txt
+++ b/cosmogramme/tests/php/classes/unimarc_chaperon_rouge.txt
@@ -1 +1 @@
-01275cam  2200265   450 001001500000010004000015010003600055100004100091101000800132102000700140105001800147106000600165200005000171210003500221211001300256215004800269225002800317330030600345345001800651410004000669700004100709801003300750902002300783995020300806frOr0292233716  a978-2-7459-2424-7bCart.d13.00 EUR  a2-7459-2424-9bCart.d13.00 EUR  a20090206d2007    b  |0fre|0103||||ba  afre  aFR  aaa      0||y|  ar1 a[Le ]Petit Chaperon rougefChristian Guibbaud  aToulousecMilan jeunessed2007 1a20070322  a14 p.cillustrations en couleurd21 x 21 cm1 aUne comptine Áa toucher  aL'histoire du Petit Chaperon rouge revisitÂee avec des matiÁeres Áa toucher : bonnet du chaperon rouge, panier, fourrure du loup, robe de la grand-mÁere, oreille du loup, et des animations : tirette pour la chevillette, porte-volet, pop-up tÃete de loup, yeux de loup en relief avec des billes, corde.  b9782745924247 134401220000tUne comptine Áa toucher 139729000147aGuibbaudbChristian4070  aFRbElectrec20090206gAFNOR  aEveil (0 Áa 3 ans)00a06209000009176b292233716cld106fA GUI Pg4h4i4l1306200004o30/04/2014p17/05/2014q28/09/2013r19/10/2013t1316400077w10x55y2z1B1300C31/08/2009D164G15H15NcOaS106T4V106W55Z22530
\ No newline at end of file
+01426cam  2200301   450 001001500000010004000015010003600055100004100091101000800132102000700140105001800147106000600165200005000171210003500221211001300256215004800269225002800317330030600345345001800651410004000669700004100709700003900750700003700789700003900826801003300865902002300898995020300921frOr0292233716  a978-2-7459-2424-7bCart.d13.00 EUR  a2-7459-2424-9bCart.d13.00 EUR  a20090206d2007    b  |0fre|0103||||ba  afre  aFR  aaa      0||y|  ar1 a[Le ]Petit Chaperon rougefChristian Guibbaud  aToulousecMilan jeunessed2007 1a20070322  a14 p.cillustrations en couleurd21 x 21 cm1 aUne comptine Áa toucher  aL'histoire du Petit Chaperon rouge revisitÂee avec des matiÁeres Áa toucher : bonnet du chaperon rouge, panier, fourrure du loup, robe de la grand-mÁere, oreille du loup, et des animations : tirette pour la chevillette, porte-volet, pop-up tÃete de loup, yeux de loup en relief avec des billes, corde.  b9782745924247 134401220000tUne comptine Áa toucher 139729000147aGuibbaudbChristian4070 139729000148aFrançoisbJean P.4070 139729000149aDossebFrançois4070 139729000150aGénéreuxbJacques4070  aFRbElectrec20090206gAFNOR  aEveil (0 Áa 3 ans)00a06209000009176b292233716cld106fA GUI Pg4h4i4l1306200004o30/04/2014p17/05/2014q28/09/2013r19/10/2013t1316400077w10x55y2z1B1300C31/08/2009D164G15H15NcOaS106T4V106W55Z22530
\ No newline at end of file
diff --git a/library/Class/CodifAuteur.php b/library/Class/CodifAuteur.php
index f842db610c62c411405218bd36a99b1b46c85583..1a77201343912bef385b67179222d54e512dd2f9 100644
--- a/library/Class/CodifAuteur.php
+++ b/library/Class/CodifAuteur.php
@@ -81,8 +81,10 @@ class CodifAuteurLoader extends Storm_Model_Loader {
 
 
   protected function _getLibelle(string $label) : string {
-    return (-1 < $pos = strscan($label, Class_Notice_Author::SEP_NAMES, 0))
-      ? trim(mb_substr($label, ($pos + 1)) . ' ' . mb_substr($label, 0, $pos))
+    $tab = explode(Class_Notice_Author::SEP_NAMES, $label);
+
+    return $tab
+      ? trim(($tab[1] ?? '') . ' ' . ($tab[0] ?? ''))
       : $label;
   }
 
diff --git a/library/Class/NoticeUnimarc/Writer.php b/library/Class/NoticeUnimarc/Writer.php
index 7b1bbf428be0a4d9de2001f884ee30c2d99864b9..4fff26d2b870d79f9cbecdc1c2be0f279a1e648c 100644
--- a/library/Class/NoticeUnimarc/Writer.php
+++ b/library/Class/NoticeUnimarc/Writer.php
@@ -422,108 +422,109 @@ class Class_NoticeUnimarc_Writer extends Class_NoticeUnimarc {
 
   public function _initISODecodeTable() {
     $this->_iso_decode_table = [
-      chr(0x88) => '',
-      chr(0x89) => '',
-      chr(0x90) => '',
-      chr(0x97) => '-',
-      chr(0xc1).chr(0x41) => 'À',
-      chr(0xc1).chr(0x45) => 'È',
-      chr(0xc1).chr(0x49) => 'Ì',
-      chr(0xc1).chr(0x4f) => 'Ã’',
-      chr(0xc1).chr(0x55) => 'Ù',
-      chr(0xc1).chr(0x61) => 'à',
-      chr(0xc1).chr(0x65) => 'è',
-      chr(0xc1).chr(0x69) => 'ì',
-      chr(0xc1).chr(0x6f) => 'ò',
-      chr(0xc1).chr(0x75) => 'ù',
-      chr(0xc2).chr(0x41) => 'Á',
-      chr(0xc2).chr(0x45) => 'É',
-      chr(0xc2).chr(0x49) => 'Í',
-      chr(0xc2).chr(0x4f) => 'Ó',
-      chr(0xc2).chr(0x55) => 'Ú',
-      chr(0xc2).chr(0x59) => 'Ý',
-      chr(0xc2).chr(0x61) => 'á',
-      chr(0xc2).chr(0x65) => 'é',
-      chr(0xc2).chr(0x69) => 'í',
-      chr(0xc2).chr(0x6e) => 'ñ',
-      chr(0xc2).chr(0x6f) => 'ó',
-      chr(0xc2).chr(0x75) => 'ú',
-      chr(0xc2).chr(0x79) => 'ý',
-      chr(0xc2).chr(0xb0) => 'C',
-      chr(0xc3).chr(0x41) => 'Â',
-      chr(0xc3).chr(0x45) => 'Ê',
-      chr(0xc3).chr(0x49) => 'ÃŽ',
-      chr(0xc3).chr(0x4f) => 'Ô',
-      chr(0xc3).chr(0x55) => 'Û',
-      chr(0xc3).chr(0x61) => 'â',
-      chr(0xc3).chr(0x63) => 'E',
-      chr(0xc3).chr(0x64) => 'É',
-      chr(0xc3).chr(0x65) => 'ê',
-      chr(0xc3).chr(0x67) => 'E',
-      chr(0xc3).chr(0x69) => 'î',
-      chr(0xc3).chr(0x6f) => 'ô',
-      chr(0xc3).chr(0x75) => 'û',
-      chr(0xc3).chr(0x8a) => 'E',
-      chr(0xc3).chr(0xa9) => 'é',
-      chr(0xc3).chr(0xa8) => 'è',
-      chr(0xc3).chr(0xa7) => 'ç',
-      chr(0xc3).chr(0xa0) => 'à',
-      chr(0xc3).chr(0xa2) => 'â',
-      chr(0xc3).chr(0xab) => 'ë',
-      chr(0xc3).chr(0xaa) => 'ê',
-      chr(0xc3).chr(0x80) => 'à',
-      chr(0xc3).chr(0x82) => 'A',
-      chr(0xc3).chr(0x87) => 'C',
-      chr(0xc3).chr(0xb4) => 'ô',
-      chr(0xc3).chr(0xbb) => 'û',
-      chr(0xc3).chr(0xaf) => 'ï',
-      chr(0xc3).chr(0xae) => 'î',
-      chr(0xc4).chr(0x41) => 'Ã',
-      chr(0xc4).chr(0x4e) => 'Ñ',
-      chr(0xc4).chr(0x4f) => 'Õ',
-      chr(0xc4).chr(0x61) => 'ã',
-      chr(0xc4).chr(0x6e) => 'ñ',
-      chr(0xc4).chr(0x6f) => 'õ',
-      chr(0xc8).chr(0x45) => 'Ë',
-      chr(0xc8).chr(0x49) => 'Ï',
-      chr(0xc8).chr(0x61) => 'ä',
-      chr(0xc8).chr(0x65) => 'ë',
-      chr(0xc8).chr(0x69) => 'ï',
-      chr(0xc8).chr(0x6f) => 'ö',
-      chr(0xc8).chr(0x75) => 'ü',
-      chr(0xc8).chr(0x79) => 'ÿ',
-      chr(0xc9).chr(0x41) => 'Ä',
-      chr(0xc9).chr(0x49) => 'Ï',
-      chr(0xc9).chr(0x4f) => 'Ö',
-      chr(0xc9).chr(0x55) => 'Ü',
-      chr(0xc9).chr(0x61) => 'ä',
-      chr(0xc9).chr(0x65) => 'ë',
-      chr(0xc9).chr(0x69) => 'ï',
-      chr(0xc9).chr(0x6f) => 'ö',
-      chr(0xc9).chr(0x75) => 'ü',
-      chr(0xc9).chr(0x79) => 'ÿ',
-      chr(0xca).chr(0x41) => 'Ã…',
-      chr(0xca).chr(0x61) => 'Ã¥',
-      chr(0xca).chr(0x30) => '°',
-      chr(0xca).chr(0x20) => '°',
-      chr(0xd0).chr(0x43) => 'Ç',
-      chr(0xd0).chr(0x63) => 'ç',
-      chr(0xca) => '°',
-      chr(0xe1) =>'Æ',
-      chr(0xe9) =>'Ø',
-      chr(0xec) =>'þ',
-      chr(0xf1) =>'æ',
-      chr(0xf3) =>'ð',
-      chr(0xf8) =>'°',
-      chr(0xf9) =>'ø',
-      chr(0xfb) =>'ß',
-      chr(0x80) =>'€',
-      chr(0xa6) =>'€',
-      chr(0xc2).chr(0x92) =>  '\'',
-      chr(0x92) =>  '\'',
-      'n'.chr(0xb0) => 'n°',
-      'N'.chr(0xb0) => 'N°',
-       chr(0x9c) =>'Å’'
+                                chr(0x88) => '',
+                                chr(0x89) => '',
+                                chr(0x90) => '',
+                                chr(0x97) => '-',
+                                chr(0xc1) . chr(0x41) => 'À',
+                                chr(0xc1) . chr(0x45) => 'È',
+                                chr(0xc1) . chr(0x49) => 'Ì',
+                                chr(0xc1) . chr(0x4f) => 'Ã’',
+                                chr(0xc1) . chr(0x55) => 'Ù',
+                                chr(0xc1) . chr(0x61) => 'à',
+                                chr(0xc1) . chr(0x65) => 'è',
+                                chr(0xc1) . chr(0x69) => 'ì',
+                                chr(0xc1) . chr(0x6f) => 'ò',
+                                chr(0xc1) . chr(0x75) => 'ù',
+                                chr(0xc2) . chr(0x41) => 'Á',
+                                chr(0xc2) . chr(0x45) => 'É',
+                                chr(0xc2) . chr(0x49) => 'Í',
+                                chr(0xc2) . chr(0x4f) => 'Ó',
+                                chr(0xc2) . chr(0x55) => 'Ú',
+                                chr(0xc2) . chr(0x59) => 'Ý',
+                                chr(0xc2) . chr(0x61) => 'á',
+                                chr(0xc2) . chr(0x65) => 'é',
+                                chr(0xc2) . chr(0x69) => 'í',
+                                chr(0xc2) . chr(0x6e) => 'ñ',
+                                chr(0xc2) . chr(0x6f) => 'ó',
+                                chr(0xc2) . chr(0x75) => 'ú',
+                                chr(0xc2) . chr(0x79) => 'ý',
+                                chr(0xc2) . chr(0xb0) => 'C',
+                                chr(0xc3) . chr(0x41) => 'Â',
+                                chr(0xc3) . chr(0x45) => 'Ê',
+                                chr(0xc3) . chr(0x49) => 'ÃŽ',
+                                chr(0xc3) . chr(0x4f) => 'Ô',
+                                chr(0xc3) . chr(0x55) => 'Û',
+                                chr(0xc3) . chr(0x61) => 'â',
+                                chr(0xc3) . chr(0x63) => 'E',
+                                chr(0xc3) . chr(0x64) => 'É',
+                                chr(0xc3) . chr(0x65) => 'ê',
+                                chr(0xc3) . chr(0x67) => 'E',
+                                chr(0xc3) . chr(0x69) => 'î',
+                                chr(0xc3) . chr(0x6f) => 'ô',
+                                chr(0xc3) . chr(0x75) => 'û',
+                                chr(0xc3) . chr(0x8a) => 'E',
+                                chr(0xc3) . chr(0xa9) => 'é',
+                                chr(0xc3) . chr(0xa8) => 'è',
+                                chr(0xc3) . chr(0xa7) => 'ç',
+                                chr(0xc3) . chr(0xa0) => 'à',
+                                chr(0xc3) . chr(0xa2) => 'â',
+                                chr(0xc3) . chr(0xab) => 'ë',
+                                chr(0xc3) . chr(0xaa) => 'ê',
+                                chr(0xc3) . chr(0x80) => 'à',
+                                chr(0xc3) . chr(0x82) => 'A',
+                                chr(0xc3) . chr(0x87) => 'C',
+                                chr(0xc3) . chr(0xb4) => 'ô',
+                                chr(0xc3) . chr(0xbb) => 'û',
+                                chr(0xc3) . chr(0xaf) => 'ï',
+                                chr(0xc3) . chr(0xae) => 'î',
+                                chr(0xc4) . chr(0x41) => 'Ã',
+                                chr(0xc4) . chr(0x4e) => 'Ñ',
+                                chr(0xc4) . chr(0x4f) => 'Õ',
+                                chr(0xc4) . chr(0x61) => 'ã',
+                                chr(0xc4) . chr(0x6e) => 'ñ',
+                                chr(0xc4) . chr(0x6f) => 'õ',
+                                chr(0xc8) . chr(0x45) => 'Ë',
+                                chr(0xc8) . chr(0x49) => 'Ï',
+                                chr(0xc8) . chr(0x61) => 'ä',
+                                chr(0xc8) . chr(0x65) => 'ë',
+                                chr(0xc8) . chr(0x69) => 'ï',
+                                chr(0xc8) . chr(0x6f) => 'ö',
+                                chr(0xc8) . chr(0x75) => 'ü',
+                                chr(0xc8) . chr(0x79) => 'ÿ',
+                                chr(0xc9) . chr(0x41) => 'Ä',
+                                chr(0xc9) . chr(0x49) => 'Ï',
+                                chr(0xc9) . chr(0x4f) => 'Ö',
+                                chr(0xc9) . chr(0x55) => 'Ü',
+                                chr(0xc9) . chr(0x61) => 'ä',
+                                chr(0xc9) . chr(0x65) => 'ë',
+                                chr(0xc9) . chr(0x69) => 'ï',
+                                chr(0xc9) . chr(0x6f) => 'ö',
+                                chr(0xc9) . chr(0x75) => 'ü',
+                                chr(0xc9) . chr(0x79) => 'ÿ',
+                                chr(0xca) . chr(0x41) => 'Ã…',
+                                chr(0xca) . chr(0x61) => 'Ã¥',
+                                chr(0xca) . chr(0x30) => '°',
+                                chr(0xca) . chr(0x20) => '°',
+                                chr(0xd0) . chr(0x43) => 'Ç',
+                                chr(0xd0) . chr(0x63) => 'ç',
+                                chr(0xe7) => 'ç',
+                                chr(0xca) => '°',
+                                chr(0xe1) => 'Æ',
+                                chr(0xe9) => 'é',
+                                chr(0xec) => 'þ',
+                                chr(0xf1) => 'æ',
+                                chr(0xf3) => 'ð',
+                                chr(0xf8) => '°',
+                                chr(0xf9) => 'ø',
+                                chr(0xfb) => 'ß',
+                                chr(0x80) => '€',
+                                chr(0xa6) => '€',
+                                chr(0xc2) . chr(0x92) => '\'',
+                                chr(0x92) => '\'',
+                                'n' . chr(0xb0) => 'n°',
+                                'N' . chr(0xb0) => 'N°',
+                                chr(0x9c) => 'Å’'
     ];
 
     $this->_iso_decode_table_2709 = array_keys($this->_iso_decode_table);