J'ai quelques caractères d'échappement dans les champs entrés par l'utilisateur que je ne peux pas comprendre. Je sais que ce sont les guillemets simples et doubles "intelligents", mais je ne sais pas comment les chercher dans mysql.Caractères d'échappement dans MySQL, dans Ruby
Les personnages de rubis, lorsque la sortie de Ruby ressembler \ 222 \ 223 \ 224 etc
irb> "\222".length => 1
Alors - savez-vous comment rechercher ces derniers dans MySQL? Quand je regarde dans mysql, ils ressemblent à '?'.
Je voudrais trouver tous les enregistrements qui ont ce caractère dans le champ de texte. J'ai essayé
mysql> select id from table where field LIKE '%\222%'
mais cela n'a pas fonctionné. Un peu plus d'informations - après avoir fait un mysqldump, voici comment l'un des caractères est représenté - '\\ xE2 \\ x80 \\ x99'. C'est la citation simple intelligente.
Finalement, je construis un fichier RTF et les caractères sortent complètement faux, donc j'essaie de les remplacer par des citations «idiotes» pour le moment. J'étais capable de faire un gsub (/ \ 222 \, "'").
Merci.
Merci - il s'avère, cela a été causé par un mysqldump et la source ultérieure> db/backups/file.sql. Les caractères dans la base de données d'origine semblaient OK et j'étais capable de faire la vérification d'expression régulière comme d'habitude. Je n'imaginais pas que le vidage et l'importation le feraient. – Swards