Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > it.comp.www.php > #21211 > unrolled thread
| Started by | RedWiz <redwiz@inwind.it> |
|---|---|
| First post | 2016-10-19 13:39 +0000 |
| Last post | 2016-10-19 16:09 +0100 |
| Articles | 3 — 2 participants |
Back to article view | Back to it.comp.www.php
PDO salva metà stringa senza errore RedWiz <redwiz@inwind.it> - 2016-10-19 13:39 +0000
Re: PDO salva metà stringa senza errore RedWiz <redwiz@inwind.it> - 2016-10-19 14:08 +0000
Re: PDO salva metà stringa senza errore Alessandro Pellizzari <shuriken@amiran.it> - 2016-10-19 16:09 +0100
| From | RedWiz <redwiz@inwind.it> |
|---|---|
| Date | 2016-10-19 13:39 +0000 |
| Subject | PDO salva metà stringa senza errore |
| Message-ID | <nu7t29$3bc$1@virtdiesel.mng.cu.mi.it> |
Ciao a tutti, ho questo singolare problema con pdo che non riesco a spiegarmi. praticamente quello che devo fare è salvare su db l'output di alcune chiamate alla customsearch di google (che mi ritorna un json). In questo json ci sono i risultati di una ricerca, io prendo questo json, lo decodo, ci faccio quello che ciu devo fare, poi lo serializzo e lo salvo su db mysql tramite PDO prepared statement(in un campo longtext). Mi sono accorto che poi in un caso specifico la deserializzazione dell'array salvato al punto precedente falliva.Praticamente quello che succede è che ad un certo punto del json c'è una sequenza di caratteri strani (potete vederli qui https://www.instagram.com/leo_young_/?hl=pt-br sono nella prima riga del paragrafo, anche se io vado a salvare realmente nel db quelli dentro ai tag meta opengraph, ma comunque dovrebbero essere gli stessi). Insomma praticamente quello che succede è che nel db mi ritrovo tutta la stringa *fino* alla prima occorrenza di quei caratteri, poi niente. (???) Come è possibile? Ma soprattutto, come è possibile che PDO sia ingrado di inserire metà dati senza poi ritornare nessun tipo di errore/eccezione. La query è eseguita tramite prepared. Qualcuno ha qualche idea? grazie Red
[toc] | [next] | [standalone]
| From | RedWiz <redwiz@inwind.it> |
|---|---|
| Date | 2016-10-19 14:08 +0000 |
| Message-ID | <nu7uo9$3bc$2@virtdiesel.mng.cu.mi.it> |
| In reply to | #21211 |
On Wed, 19 Oct 2016 13:39:21 +0000, RedWiz wrote: > Ciao a tutti, > > Come è possibile? > Ma soprattutto, come è possibile che PDO sia ingrado di inserire metà > dati senza poi ritornare nessun tipo di errore/eccezione. La query è > eseguita tramite prepared. ho fatto un ulteriore controllo, passandi la stringa incriminata da PDO::quote, è lui che la taglia appena arriva al carattere strambo.
[toc] | [prev] | [next] | [standalone]
| From | Alessandro Pellizzari <shuriken@amiran.it> |
|---|---|
| Date | 2016-10-19 16:09 +0100 |
| Message-ID | <e6pglnF56j4U1@mid.individual.net> |
| In reply to | #21211 |
On 19/10/2016 14:39, RedWiz wrote: > Insomma praticamente quello che succede è che nel db mi ritrovo tutta la > stringa *fino* alla prima occorrenza di quei caratteri, poi niente. (???) > Qualcuno ha qualche idea? Sono emoji. Se non ricordo male PDO::quote fa l'escape in base al DB a cui sei connesso. Controlla se hai settato utf8mb4 su MySQL. Se hai solo utf8 o, peggio, iso-8859-1, probabilmente te li tronca per quel motivo. Bye.
[toc] | [prev] | [standalone]
Back to top | Article view | it.comp.www.php
csiph-web