Y a-t-il un moyen de le faire avec PHP? P>
Les données à insérer ont l'air bien lorsque je l'imprime. p>
mais quand je l'insère dans la base de données, le champ devient vide. p>
3 Réponses :
ANSI_X3.4-1968 ANSI_X3.4-1986 ANSI_X3.4 ANSI_X3.110-1983 ANSI_X3.110 MS-ANSI
utf8_encode code> convertit de l'ISO 8859-1 en UTF-8. Il ne peut donc être utilisé que si l'encodage d'entrée est ISO 8859-1
J'essaie $ data = iconv ('ascii', 'utf-8', $ données); Message: iconv () [fonction.iconv]: détecté un caractère illégal dans la chaîne d'entrée
ASCII est un sous-ensemble de UTF-8. Si les données étaient en réalité ASCII (qui n'est pas, comme le dit le message d'erreur), vous n'avez pas besoin de convertir.
J'ai lu la chaîne à partir du fichier TXT et constatez que certaines d'entre elles renvoient ANSII certaines d'entre elles de retourner à l'aide de mb_detect_encoding ($ données), de toute solution
Lorsque vous retournez faux, ouvrez simplement le fichier et regardez vos yeux pour les ordures. Supprimez-le à la main et essayez à nouveau. Si cela fonctionne, vous pouvez écrire une fonction de filtrage à exécuter avant de détecter le codage.
"ANSI" n'est pas vraiment un brict. C'est une brève façon de dire "tout ce que Charset est la valeur par défaut dans l'ordinateur qui crée les données". Donc, vous avez une double tâche: p>
Pour # 2, je suis normalement heureux avec On dirait que vous ne savez pas ce que vous utilisez vos données. Dans certains cas, vous pouvez le comprendre si vous connaissez le pays et la langue de l'utilisateur (par exemple, Espagne / espagnol) via le codage par défaut utilisé par Microsoft Windows sous un tel territoire. P> iconv () code> mais
utf8_encode () code> peut également faire le travail si les données de source se produisent à l'utilisation ISO-8859-1 . p>
Mise à jour h1>
Je déteste ces éditeurs qui utilisent le mot "ANSI". Il est similaire à de manière incorrecte en utilisant "Unicode" pour UTF-16.
Le OP vous a raconté des valeurs de retour qu'il a obtenu de MB_Detect_encoding.
mb_detect_encoding () code> ne fait pas vraiment ce que la plupart des gens pensent. En fait, il est proche de l'inutile. Au plus, vous pouvez l'utiliser pour distinguer entre UTF-8 et UTF-16, mais vous devez le configurer correctement.
Soyez prudent, en utilisant J'ai aussi un problème un peu similaire, certains personnages de l'alphabet chinois sont confrontés pour Pour revenir à votre problème, assurez-vous que le codage de votre fichier est identique à celui de votre base de données. En utilisant également iconv () code> peut retourner false si la conversion échoue. p>
\ n code> si le fichier est codé dans unicode, mais pas s'il est uft-8. P >
utf-8_encode () code> sur un texte déjà utf-8 peut avoir des résultats désagréables. Essayez d'utiliser
mb_detect_encoding () code> pour voir le codage du fichier, mais malheureusement, de cette façon ne fonctionne pas toujours. Il n'y a pas de solution facile pour le codage du personnage de ce que je peux voir: ( p>
Essayez d'utiliser mysql_real_escapape_string () php.net/manual/fr/function.mysql-real-escape-string.php peut-être que la chaîne à insérer contient des caractères utilisés mon mysql
J'ai lu la chaîne à partir du fichier TXT et constatez que certaines d'entre elles renvoient ANSII certaines d'entre elles de retourner à l'aide de mb_detect_encoding ($ données), de toute solution
Il n'y a pas une telle chose que
ascii code>.