Condividi:        

Problema charset Access con Php

Problemi di HTML? Di PHP, ASP, .NET, JSP, Perl, SQL, JavaScript, Visual Basic..?
Vuoi realizzare programmi in C, C++, Java, Ruby o Smalltalk, e non sai da che parte cominciare?
Entra qui e troverai le risposte!

Moderatori: Anthony47, Triumph Of Steel, archimede

Problema charset Access con Php

Postdi Paolo87 » 21/04/13 10:05

Ciao a tutti ragazzi,
vado subito al sodo :

- Ho creato una pagina Php che esegue una query di select su un Db access, e fin qui tutto ok.La connessione funziona e i dati li tira fuori,purtroppo però ho notato che al posto dei seguenti caratteri "ò,à,ecc." mi restituisce sempre il carattere "�".

Come faccio a cambiare il tipo di charset ?! Oppure ad effettuare un replace ?!

Strade effettuate :

- cambiato il charset detro il file php.ini ma niente
- messo questo nella pagina interessata
Codice: Seleziona tutto
echo '<meta http-equiv="Content-Type" content="text/html; charset=windows-1252" />';



Qualcheidea ragazzi !?!?
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Sponsor
 

Postdi archimede » 21/04/13 11:51

Molteplici possono essere i fattori in gioco, per cui non è facile dare un consiglio. Versione (e lingua) di Access? Connection string usata? Che server (Apache o altro) e su che sistema operativo?

Alcuni suggerimenti a casaccio:

- http://www.adviesenzo.nl/examples/php_m ... arset_fix/
- http://office.microsoft.com/en-001/acce ... 28915.aspx
- http://php.net/manual/it/book.mbstring.php
- <?php header('Content-type: text/html;charset=utf-8'); ?>
- caratteri accentati scritti direttamente nella pagina php (anziché leggerli da Access) sono renderizzati correttamente?

HTH.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Paolo87 » 22/04/13 06:17

Buongiorno per rispondere alle tue domande :

- OS => Win 7
- Versione di Access => 2007
- Lingua => italiano
- Stringa Connessione =>
Codice: Seleziona tutto
$db = ".\Musica.accdb";$sc = "Provider=Microsoft.Jet.OLEDB.12.0;Data Source=$db;";

-Server => Easy-Php versione 5.3.8.1
- caratteri accentati scritti direttamente nella pagina php (anziché leggerli da Access) sono renderizzati correttamente?
=> Veramente ci leggo soltanto,non faccio inserimenti...
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Postdi archimede » 22/04/13 08:52

Paolo87 ha scritto:Easy-Php versione 5.3.8.1
Quindi Apache 2.2.21, se non erro.
Paolo87 ha scritto:Veramente ci leggo soltanto,non faccio inserimenti...
Io intendevo provare a scrivere una stringa da php (<?php echo "àèòìù"; ?>) onde verificare se almeno così i caratteri si vedono correttamente.

Prova ad aggiungere Locale Identifier=1252; alla tua stringa di connessione, anche se dubito possa risolvere.

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Paolo87 » 22/04/13 12:23

ciao,ho provato con :
1-
Codice: Seleziona tutto
<?php header('Content-type: text/html;charset=utf-8'); ?>

2 -
Codice: Seleziona tutto
Locale Identifier=1252;


Ma nada,ho provato pure a mettere nel file "php.ini" un altro charset ( utf-8,windows-1251) ma nada nessuno di tutti e due va bene.
Ovviamente ho fatto la seguente prova
Codice: Seleziona tutto
(<?php echo "àèòìù"; ?>)
e i caratteri li stampa bene a video.
Non so proprio come aggirare la cosa :-?
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Postdi archimede » 22/04/13 14:31

Hai provato la funzione StrConv?

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Postdi Paolo87 » 23/04/13 07:44

archimede ha scritto:Hai provato la funzione StrConv?

Alessandro


MMM mai sentita,in php, so che su access ti fa l'upper case. Mi potresti dare un esempio per favore ?!.
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Postdi archimede » 23/04/13 09:49

Ma hai guardato i link che ho messo nella mia prima risposta?

Alessandro
archimede
Moderatore
 
Post: 2851
Iscritto il: 07/11/02 12:41
Località: Genova

Re: Problema charset Access con Php

Postdi Paolo87 » 23/04/13 10:23

Si li ho visti,ma purtroppo non riesco proprio a fare sto benedetto adattamento...
A pensare che sto ad un passo dalla soluzione ( spero ) ahaahah :lol:
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma

Re: Problema charset Access con Php

Postdi Paolo87 » 30/04/13 10:17

Ciao a tutti,alla fine per ovviare al problema ho cambiato DB,mi sono fatto unbel dump.sql dell'access ed ho messo tutto su mysql.
Ovviamente ho eseguito i seguenti passi ( li scrivo così se serve a qualcun altro li può facilmente trovare ) :

- Creato un Db Mysqlin UTF-8
- Salvato ogni pagina ".php" in codifica UTF-8
- Ogni pagina ".ph" presenta un header
Codice: Seleziona tutto
<?php header('Content-type: text/html;charset=utf-8'); ?>

- Prima di ogni query setto,per sicurezza di nuovo il charset del DB
Codice: Seleziona tutto
mysql_set_charset('utf8', $cn)


Spero a tutti che la mia avventura possa esservi utile.

Grazie a tutti ciaooooooooooooooooooooooooooo
Paolo87
Utente Senior
 
Post: 305
Iscritto il: 26/08/07 09:54
Località: Roma


Torna a Programmazione


Topic correlati a "Problema charset Access con Php":

problema blocco note
Autore: carlin
Forum: Software Windows
Risposte: 7

Chi c’è in linea

Visitano il forum: Nessuno e 12 ospiti