Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1559 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Décoder une chaine de caractère

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Décoder une chaine de caractère

n°2013888
Profil sup​primé
Posté le 03-08-2010 à 11:17:46  answer
 

Bonjour,
 
dans une appli, je me retrouve avec des strings comme ça:
$string = '%u65E5%u5E38%u30DE%u30F3%u30C4%u30FC%u30DE%u30F3%u82F1%u4F1A%u8A71';
C'est censé être des caractères japonais provenant d'une db MSSQL.
Comment je peux la décoder pour être lisible ?

mood
Publicité
Posté le 03-08-2010 à 11:17:46  profilanswer
 

n°2014761
Profil sup​primé
Posté le 06-08-2010 à 11:11:15  answer
 

Pour info  [:calahad]  

Code :
  1. $string = '%u65E5%u5E38%u30DE%u30F3%u30C4%u30FC%u30DE%u30F3%u82F1%u4F1A%u8A71';
  2. $string = preg_replace("/%u([0-9a-f]{2,4})/i","&#x\\1;",$string);
  3. echo $string;

n°2014831
rufo
Pas me confondre avec Lycos!
Posté le 06-08-2010 à 14:05:20  profilanswer
 

C'est surtout de l'utf-8. Faut donc que ton navigateur ait une police de caractère capable d'afficher les caractères japonais, ce qui ne devrait pas poser pb ;)


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2014849
Profil sup​primé
Posté le 06-08-2010 à 14:32:58  answer
 

Faut quand même la décoder avant de l'afficher.

n°2014867
rufo
Pas me confondre avec Lycos!
Posté le 06-08-2010 à 15:20:58  profilanswer
 

est-ce que cette lib ne pourrait pas t'aider : http://www.php.net/manual/fr/book.mbstring.php
 
Perso, j'ai jamais bosser autrement qu'avec du iso-8859-1 donc je ne pourrais pas t'aider beaucoup plus mais je serais intéressé de connaître la solution.


---------------
Astres, outil de help-desk GPL : http://sourceforge.net/projects/astres, ICARE, gestion de conf : http://sourceforge.net/projects/icare, Outil Planeta Calandreta : https://framalibre.org/content/planeta-calandreta
n°2015177
stealth35
Posté le 08-08-2010 à 02:29:05  profilanswer
 

c'est de l'utf-16 encodé par du javascript, si tu veux le voir sans les entités ca serait

 
Code :
  1. $string = '%u65E5%u5E38%u30DE%u30F3%u30C4%u30FC%u30DE%u30F3%u82F1%u4F1A%u8A71';
  2. $string = preg_replace("/%u([0-9a-f]{2,4})/ie","pack('H4','$1')",$string);
  3. echo iconv('UTF-16', 'UTF-8', $string);
 

le mieux ca serais des les décodés en javascript avant


Message édité par stealth35 le 08-08-2010 à 04:53:34
n°2015283
Profil sup​primé
Posté le 09-08-2010 à 10:26:59  answer
 

wtf  [:what has been seen]  
Et quelle est la signification du 'H4' ?
Et aussi, il n'y a pas de perte d'information quand on passe de l'UTF-16 en UTF-8 ?

n°2015547
stealth35
Posté le 09-08-2010 à 20:44:23  profilanswer
 

pour le H4 c'est veux dire que c'est en hexa (be) avec 4 valeur
au niveau de la perte d'info non puisque ton texte est a la base en utf-8, c'est juste que javascript bosse en UTF-16, mais j'ai du mal a reproduire ton truc, ca se passe comment au niveau de ton code ? c'est un formulaire en ajax ?

n°2015683
Profil sup​primé
Posté le 10-08-2010 à 10:37:35  answer
 

hexa be ?  [:cerveau skyzor]  
Alors d'où ça vient, j'en n'ai aucune idée. C'est une string dans une table MSSQL.
Je vais tenter de trouver ce qui a mis ces strings la-bas :d


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Décoder une chaine de caractère

 

Sujets relatifs
[Divers] Demander au modem de renvoyer une chaine de caracteresProbleme pour convertir une chaine en variable double
[WebDev15] GUID Ldap ou comment récupérer de l'hexadecimale..test sur chaine
La video avec JAVA/JVM c'est possible?Passer une variable qui a un caractere & dans l'URL
Suppression valeur dans registre suivant une chaine de caractèreRemplacement d'un motif dans une chaine de caractères
problème convertion d'une chaine en double 
Plus de sujets relatifs à : Décoder une chaine de caractère


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR