[RESOLU] Bizarerie entre l'ordinateur et l'iPhone ?

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : [RESOLU] Bizarerie entre l'ordinateur et l'iPhone ?

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par Ste[PH]ane » 23 nov. 2022, 16:21

GOOD !

J'ai modifié mon code comme cela :
<?php
//On remplit le tableau grâce à la fonction rechercheTab
if (isset($_POST['titre'])) {
    $_POST['titre'] = str_replace("’", "'", $_POST['titre']);
    echo '<tr>';
    $datas = rechercheTab();
    foreach ($datas as $data) {
        foreach ($data as $colonne => $contenu) {
            echo '<td>' . $contenu . '</br></td>'; //je remplis le tableau avec les données de ma DB
Et maintenant je n'ai plus le problème sur mon téléphone :)
Pour info (ça peut toujours servir) l'apostrophe clavier MAC se fait avec la touche 4 et pour avoir l'apostrophe courbe il faut faire SHIFT + OPTION + 4

Maintenant ça marche :)

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par Ste[PH]ane » 22 nov. 2022, 23:22

Ah ah ! Oui c’est limpide :)
J’ai plus qu’à traduire cela en requête SQL :) il me semble qu’avec LIkE je devrais m’en sortir :)
Dans ma fonction j’utilise pdo query sur la recherche… il faut peut être que je passe à pdo prépare mais comme je n’ai pas d’injection à ce niveau là, je me suis dit que c’était pas nécessaire…

Je regarde ça demain

Merci pour le coup de main

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par two3d » 22 nov. 2022, 22:06

Il te faudra convertir toutes les sortes de guillemets simple par un général puis aussi quand on cherche ; remplacer tous les guillemets simple par le général et ça trouvera toujours le résultat, fait le dès le départ ;)

Après je suis pas expert dans la recherche, ya peut être des recherches à faire avec "des mots qui sonnent à peu près pareil", je ne trouve plus le terme exact, désolé.

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par Ste[PH]ane » 22 nov. 2022, 21:51

Ouep merci :)
En général je fais une requête préparée avec PDO.

En revanche je ne sais pas si je dois remplacé mes apostrophes dactylo par les typographiques ou inversement :(
Il me semble que de base le clavier des ordi fait une apostrophe dactylo (droite) mais que les téléphones avec la ponctuation intelligente font une apostrophe courbe...

Bref je suis perdu...

C'est plus compliqué que ce je pensais :(
Si je change les apostrophes > sur mon Mac la recherche ne retourne rien (car clavier = apostrophe dactylo) mais sur le téléphone ça fonctionne.
Et inversement.... Bouhou.... Dites qu'il y a une solution plus simple svp ... :p
Ma DB est encodée en UTF-8 general ci

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par two3d » 22 nov. 2022, 21:45

Attention aux injections SQL, risque de piratage de la base donnée.

Tu peux utilise mysqli_real_escape_string() sur tes valeurs à insérer.

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par Ste[PH]ane » 22 nov. 2022, 21:09

Merci pour cette précision :)
Du coup c'est les typographiques qu'il faut utiliser ? J'ai bien compris ?

Bon je m'en vais écrire une requête pour mettre à jour la DB et modifier ma requête de base.

Encore merci
Stéph

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par @rthur » 22 nov. 2022, 21:06

Ton problème vient des apostrophes typographiques appelées aussi apostrophes courbes (je les ai grossis ici pour montrer la différence), qu'il ne faut pas confondre avec les apostrophes droites du clavier de base '
https://www.brunobernard.com/des-textes ... raphiques/

Tu peux avoir aussi le problème avec les guillemets typographiques : « vs. "
https://www.brunobernard.com/utilisez-l ... raphiques/

Une solution est de les remplacer avant de faire ta requête SQL...

Re: Bizarerie entre l'ordinateur et l'iPhone ?

par Ste[PH]ane » 22 nov. 2022, 17:16

J'ai trouvé la solution mais elle est inquiétante...

Le pb vient de l'option 'ponctuation intelligente' !
Lorsque je désactive cette option je n'ai plus le pb ^^

Qu'ai je mal fait dans mon développement pour mériter cela ?

Bizarerie entre l'ordinateur et l'iPhone ?

par Ste[PH]ane » 22 nov. 2022, 12:35

Bonjour,

J'affiche un formulaire de recherche qui envoie une requête à la DB pour retourner un résultat.

Cela marche parfaitement (presque) et comme dans ma requête SQL j'ai utilisé 'LIKE' je peux n'écrire que le début de ma recherche.
Sur mon ordi si je tape : "i've" -> j'ai bien l'ensemble des phrases commençant par "I've"
En revanche sur mon téléphone cela n'affiche rien :(

MAIS

Si je tape "I don't" sur mon téléphone -> là j'ai bien l'ensemble des résultats commençant par "i'don't" !!

Je ne comprends pas d'où cela peut provenir ??

Avez-vous une piste de réflexion pour moi svp ?

Merci
Steph