Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa
Marvel's Wolverine porta Logan in un'avventura inedita, violenta e fortemente narrativa, costruita attorno alla sua natura di combattente e al difficile rapporto con il proprio passato. Insomniac Games punta su combattimenti spettacolari, progressione e personalizzazione, inserendo l'azione in un mondo segnato dalla persecuzione dei mutanti. Un viaggio intenso, che alterna mattanza, esplorazione e momenti sorprendentemente emotivi.
DJI Romo 2: tante novità lo rendono un robot completo
DJI Romo 2: tante novità lo rendono un robot completo
Romo 2 è la seconda generazione di robot lavapavimenti di DJI, un modello che si caratterizza per la precisione nel sistema di navigazione e per il funzionamento particolarmente silenzioso. Con le modifiche introdotte in questa seconda versione, e un posizionamento di prezzo più allineato alla concorrenza, rappresenta una valida alternativa sul mercato delle soluzioni di pulizia domestica
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED
Il primo Sony con retroilluminazione True RGB alla prova del banco di misura e dei contenuti: luminanza enorme, colori accurati in HDR e un antiriflesso molto efficace. I limiti sono due sole HDMI 2.1 e il blooming fuori asse
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 31-10-2007, 08:09   #1
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
[PHP] problema charset

Ho un problema con l'interfacciamento del DB in MySQL con PHP.
Esistono alcuni campi nel DB che hanno dei caratteri speciali (dell'alfabeto polacco e degli altri paesi europei). Nel DB ho risolto impostando come set di caratteri l'UTF8_bin, ma in PHP, al momento della query ho dei problemi di visualizzazione. I caratteri speciali vengono sostituiti con un ? o con altri caratteri. Ho già cercato in rete, ma non riesco a risolvere il problema, qualcuno ha un consiglio?
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 31-10-2007, 16:37   #2
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Prova con htmlentities.
Se ti deovesse servire il cirillico puoi usare convert_cyr_string.
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 10:34   #3
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
inoltre c'è anche il problema con i caratteri di escape come ',",\, e soprattutto °.

Il simbolo del grado mi sta dando moltissime noie, in PHP riesco a gestirlo, ma al momento di passarlo come parametro per una query MySQL, esso viene sempre sostituito con il ?.
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 11:10   #4
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Per MySQL c'è la comodissima mysql_escape_string.
Occhio però che non fa l'escape dei caratteri % e _
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 11:18   #5
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
Niente da fare, il ° non viene toccato, nella tabella rimane come punto ?
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 11:39   #6
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Una soluzione veloce, valida solo se l'unica interfaccia al DB è il web, potrebbe essere l'uso dei caratteri speciali dell'HTML.
Nello specifico potresti usare &\#176; oppure &\deg; indifferentemente (senza \).

Per una soluzione più definitiva aspetta che cerco qualcosa .
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 11:46   #7
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
grazie!!!
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 12:45   #8
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Nel frattempo ti consiglio una bella lettura di questo istruttivo documento sull'argomento.
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 13:09   #9
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Con questo codice (abbastanza classico) a me non da problemi con nessuno dei caratteri che ho provato (incluso °):
Codice:
$query="INSERT INTO try (campo1, campo2) VALUES (2,'".mysql_escape_string($_POST['value'])."')";

mysql_query($query);
Potresti postare il pezzo di codice incriminato?
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 13:17   #10
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
insomma, ci sarebbe parecchio da postare...
Cmq penso di aver risolto con una cosa analoga alla tua, solo che sto usando htmlentities() all'interno della stringa da passare alla query, e sembra funzionare!

All'inizio non andava perchè lo usavo nel posto sbagliato (lo avevo inserito in una funzione, ma al suo interno non sembra funzionare, solo nella query va bene...)
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 02-11-2007, 13:38   #11
thehuge
Member
 
L'Avatar di thehuge
 
Iscritto dal: Sep 2006
Città: ~
Messaggi: 146
Ottimo
__________________
Computers are like conditioned air: they work fine 'till you open windows.

thehuge è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 10:49   #12
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
Torno sempre sull'argomento...

Ora ho delle stringhe memorizzate nel DB in UTF8, ma alcune sono state rielaborate con htmlentities().
Utilizzando la codifica della pagina ISO-8859-1 queste stringhe vengono visualizzate perfettamente (se codifico la pagina con UTF8 no... )

Comunque questo va bene. Il problema sono le altre stringhe che non sono passate per htmlentities e che hanno caratteri speciali (dell'alfabeto polacco, slovacco ecc...). Sia che scelga come codifica della pagina UTF8 o no, queste vengono visualizzate male. Ho provato con utf8decode(), ma niente da fare.

Allora sono andato a verificare le codifiche di tutte le stringhe della tabella, quelle che sono state elaborate con htmlentities sono ASCII, mentre le altre UTF8.

A prescindere da questo, sto controllando se tra le funzioni mbstring ci fosse qualcosa che faccia al caso mio, ma questa cosa della codifica mi sta facendo impazzire...
Lim è offline   Rispondi citando il messaggio o parte di esso
Old 03-11-2007, 11:37   #13
Lim
Senior Member
 
L'Avatar di Lim
 
Iscritto dal: Dec 2000
Messaggi: 501
Penso di aver risolto, quindi mi rispondo da solo

Non avevo aggiunto nel file connessione.php che ho creato appositamente per gestire la connessione al DB, la riga mysql_query("SET NAMES utf8");.

Ora ottengo il comportamento atteso...
Lim è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Marvel's Wolverine, la recensione: Logan torna protagonista in un'avventura brutale e intensa Marvel's Wolverine, la recensione: Logan torna p...
DJI Romo 2: tante novità lo rendono un robot completo DJI Romo 2: tante novità lo rendono un ro...
Sony Bravia 9 II: il True RGB alla prova, dove l'LCD sfida l'OLED Sony Bravia 9 II: il True RGB alla prova, dove l...
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Il successo di iPhone Duo rappresentereb...
Cartello sull'IA? L'accusa durissima con...
L'IA sempre più protagonista nei videogi...
Revolut ha consegnato passaporti e selfi...
Office 2021, 3 anni di aggiornamenti di ...
Dopo 23 anni di silenzio, Warcraft 3 spi...
Roblox sfida l'ecosistema gaming: app st...
OpenAI accusata di plagio dai migliori m...
Altro attacco hacker dell'IA: gli agenti...
Stiamo davvero perdendo il controllo del...
Microsoft perde un pilastro: Frank Shaw ...
Diablo V annunciato a sorpresa: il colpo...
Meno di 5 euro per il 5G: l'offerta Kena...
World of Warcraft: Forever è il Classic+...
La Serie A con DAZN e Amazon Prime con l...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 07:50.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v