Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
Viajesyprogramacion
ElBlogdedbarreno,sobreviajesymis
experienciascomoprogramadorde
aplicacionesweb.
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML
Publicadoel27deoctubrede2012
Somosmuchoslosque,cuandoestamoscomenzandoaprogramar,nosencontramosconunproblemaqueaveces
nosconsumemuchomastiempodelquedeberayavecesalbuscarunasolucinenlaredlocomplicamostodava
ms,debidoalagrancantidaddeinformacinexistenteyaqueenmuchasdelaswebsyblogsqueheestado
viendotelianmasqueayudan.
Yovoyaexplicarmimtodo,sinentraraverlasdiferenciasentreISO88591yUTF8,quesonlasdosmas
comunes.
EnmicasoyosiempreusoUTF8ylaraznesqueenlasaplicacionesqueestoydesarrollandoutilizomuchola
claseSimpleXMLdePHPytodoslosdatosextraidosconestaclasesiempreestncodificadosenUTF8,simi
aplicacinutilizaraISO88591tendraquepasartodalainformacinporlafuncinutf8_decode()dePHP,conlo
queestarasobrecargandoelscriptsinnecesidad.
Laclaveestenquehayquedecirleatodoquecotejamientoeselqueestamosutilizando.
1.Codificacindeldocumento.
Enprimerlugarhayquecomprobarlacodificacindeldocumento,siusasDWyWindowsenespaol
posiblementeelvalordeCodificacinpordefectolotendrsenEuropeooccidental.
EnDreamweaverlopuedescomprobarpulsandoCRTLJ,oenmodificarpropiedadesdepagina.
EnNotepad++loversenlapestaaCodificacin.
Seguir
Seguir Viajes y
programacion
Recibe cada nueva publicacin
en tu buzn de correo
electrnico.
Introducetudireccindecorreoelectrnico
Suscrbeme
Construye un sitio web con
WordPress.com
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
1/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
Siestolotienesbien,tuetiqueta<meta>deldocumentodeberasercomosigue:
<metahttpequiv="ContentType"content="text/htmlcharset=utf8"/>
2.MySQL
Aquesdondesurgenlamayorpartedelosproblemas.Cuandocreamoslastablasenlabasededatostenemos
quetenerespecialcuidadodequetodosloscotejamientosestnenutf8.Cuandolodejaspordefecto,siutilizas
phpmyadminesteprocesoseconvierteenunaloteraycuandoterminesdecreartubasededatosversquecada
cosaestcotejadadeformadiferente
YovoyautilizarUTF8,sitedecantasporISO88591,entodaslasseleccionesquenombroacontinuacin
tendrsqueelegirlatin1_general_ci,sieligeslatin1_spanish_citambinfuncionar,peroporfavor,usaentodas
lomismo.
Cotejamientoparalasconexionesalservidor.
Cotejamientoparalabasededatos
Enlapestaaoperacionesdelapantallaprincipaldelabasededatos
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
2/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
Cotejamientoparalastablas.
Cadatablaquecreemosdebertenerelmismocotejamiento
CotejamientodeCampooColumna.
EsimportanteindicarelcotejamientoquevaatenerelCampo,sobretodosienestevamosaalmacenarcaracteres
detexto.Lgicamenteauncamponumrico,booleanoetcnohayqueindicarelcotejamientoporquesucontenido
noincluirncaracteresextraos.
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
3/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
3.PHP
PorltimovamosadecirlealMysqlenPHPcmonosvamosacomunicarconlabasededatosparaquenohaya
ningntipodeconfusin.
YoutilizosiemprePDOparalaconexiondePHPconlabasededatos,peroestoesotrotemaquedaparamucho.
Asquedaralaconexin.Alcrearelmanejadordelaconexinhayqueincluirenelarraydeopcionesla
codificacin,comosigue:
$pdo=newPDO('mysql:host=servidordbname=bd',$usuario,$clave,array(PDO::MYSQL_ATTR_INIT_COMMAND=>'SET
Siusaslaconexionestandar,bastaconaadir
mysql_set_charset('utf8')
justodespuesdeabrirlaconexionconlabasededatos.
Acerca de estos anuncios
YouMayLike
1.
Compartir
Megusta
Aunbloguerolegustaesto.
Estaentradafuepublicadaenphpyetiquetadaacentos,caracteresextraos,cotejamiento,iso8859,problemaacentos,problemacaracteres,programacion,utf8.Guardael
enlacepermanente.
55respuestasaLasolucinalosproblemasconlosacentosenPHP,MySQLyHTML
Xendessdijo:
18deabrilde2013en10:47
Dios.mehassalvadolavida.
Responder
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
4/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
XavierVeladijo:
2deseptiembrede2013en16:29
Teagradezcomuchsimo!!
Responder
Rubndijo:
10deseptiembrede2013en02:21
Gracias.Nohabatomadoencuentalafuncinset_charset().Resolvmiproblema.
Responder
Unnamed_Freakdijo:
1denoviembrede2013en14:34
Muchisimasgracias!!
Responder
dbarrenodijo:
2denoviembrede2013en15:47
Muchasgraciasavosotrosporvuestroscomentarios.
Responder
Albertodijo:
20deoctubrede2014en15:38
Ereslamquina!!Despusdetodalamaanaypartedelatardecomolococonestetema,mehasdadolasolucin
mssencilla.Gracias!!
Responder
angheldijo:
4denoviembrede2013en18:32
Teagradezcomuchsimo!!,deverdad
Responder
Kurtsukedijo:
6denoviembrede2013en19:26
Ereselmejor
muchossalu2Gracias!!!
Responder
juancarlosdijo:
10denoviembrede2013en22:35
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
5/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
graciasamigo..graciasdecorazn
Responder
juancarlosdijo:
10denoviembrede2013en22:50
sabesmegustarademeindiquescomoregistrarfechasenmibasededatosdelasiquienteforma02/05/2013yno
2013/05/02
Responder
dbarrenodijo:
12denoviembrede2013en10:29
HolaJuanCarlos,
Graciasportuscomentarios.
EnMySQLhayvariasformasdealmacenarunafecha.Sinonecesitasalmacenarlahorayoterecomiendousarel
tipodedatosDATE.
ElformatoparaalmacenarlafechaslopuedeserYYYYMMDD,estonosepuedecambiar,peroesonotieneque
suponerningnproblemayaqueexistenmuchasformasdeformatearlafechaparamostrarlacomonosotros
queramos.
YopersonalmenteprefieroformatearlaenPHPutilizandolaclaseDateTime()delasiguienteforma:
$Fec=newDateTime('20131125');
$fecha=$Fec>format("dmY");
Otraformaesusarlatpicafunciondate()deestaforma
$fecha=date('dmY',strtotime('20131125'))
Peroojoconestemtodoyaquenosoportafechasinferioresal13Diciembre1901ni(loqueesmasimportante)
superioresa19Enero2038.
PerohayotraformayesqueMySQLtedeyalafechaenelformatoquenecesites.Paraellohayqueutilizarlas
funcionesqueMySQLtieneparautilizarconlasfechas.
Laformadeusarlasesincluirlasenlasconsultasyunejemplopodraserelsiguiente:
SELECT`usuarios`.`nombre`,DATE_FORMAT(`usuarios`.`fecha_nacimiento`,'%d%m%Y')ASfecha_nacimientoFROM
`usuarios`WHERE`usuarios`.`id_usuario`=1
HuyedealmacenarfechascomoVARCHAR,espocoeficazyslotetraerproblemas.
Esperohaberteayudado.
Unsaludo
Responder
Chichodijo:
21denoviembrede2013en11:06
Muchasgraciasporestegranarticulo,yaqueenmuchasocasionesmehabiavueltolococonestetema.
Responder
alopezdijo:
3dediciembrede2013en22:41
Muybuenarticulo,llevomuchotiempodesarrollandoynuncamehabaocurridoelproblemasoloahoraquedecid
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
6/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
pasarmeaunservidormasgrande.meocurriesto
Responder
SrlLvrsdijo:
5dediciembrede2013en14:51
Porfin!!Graciasamigo,teagradezcoesto,medmuchoscabezazosantesdedarmecuentademierror.
Algoquetalvezpuedasagregar,esquesiestntrabajandoconSublimeText2,elarchivo.PHPvanamenFile>Savewith
Encoding>UTF8withBOM.
Saludos!!
Responder
dbarrenodijo:
5dediciembrede2013en15:15
Muchasgraciasportuaporte,seguroqueaalguienleayuda.
Responder
Martndijo:
12dediciembrede2013en20:41
Anduvoespectaculartusolucin,resumiendo:
EnHTML:
EnMYSQL:
Enlabase,tablaydatoscolocarenelcotejamientoutf8_general_ci
EnPHP:
Luegodeconectarconlabasededatos
mysql_set_charset(utf8)
Saludos
Responder
Rockodijo:
16dediciembrede2013en18:50
enqueparteingresasel
mysql_set_charset(utf8)
???intenteynopude,creoquesolomefaltaestepaso.
Responder
dbarrenodijo:
16dediciembrede2013en22:39
Noutilizoestaopcin,siempretrabajoconPDO,perocreoqueseaadejustodespuesdeabrirla
conexion,antesdeseleccionarlabasededatos.
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
7/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
Rockodijo:
16dediciembrede2013en03:50
enquepartevaelcode:
mysql_set_charset(utf8)
?Muchasgracias
Responder
RicardoNioVargasdijo:
10deenerode2014en23:28
Maravilloso,resumido,sencilloyatacandotodoslosposiblespuntosdondeexistenlosproblemas.
Felicidadesporelaporteymuchasgracias
Responder
Ivndijo:
14deenerode2014en05:21
Muchasgraciasmeayuddemasiado.(Y)
Responder
JoseArmandoUscangadijo:
14deenerode2014en06:55
GraciasfuncionayotambienloutlizoconPDOsaludos
Responder
Andrsdijo:
20deenerode2014en11:33
Otroalquesalvaste!
Responder
pedroborrsdijo:
20deenerode2014en12:39
Gracias,gracias,gracias
Responder
henryhbogota,colombiadijo:
21deenerode2014en05:53
Conphpmysqladminnecesitocreartablaconfilasas:CUENTAylosdocemeses,cadaunoconSALDOANTERIOR,
DEBITOSenesemes,CREDITOSenesemesyNUEVOSALDOoseaunarraypara12mesesdentrodeunacolumnao
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
8/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
tendrquedefinir4columnaspormesydefinirentonces4X12=48columnas?Estoyaprendiendo,MUCHASGRACIASpor
orientarme!.
Responder
Raldijo:
5defebrerode2014en19:07
Funcintotalmente.
Gracias!
Responder
jackworthindijo:
10demarzode2014en11:16
Gracias!!!!
Responder
AndresDiaz(AnzOne)dijo:
26demarzode2014en14:55
Muchasgracias,miproblemasedebaalcotejamientoenlaDB,entidadesycamposatravsdesugerenciasprobeconlatin,
utfspanish_ci,ci2ynofuncionootraalternativaesconhtmlentities.
LaconfiguracindeleditorenmicasoGeanyesen:Documento>EstablecerCodificacin>Unicode>Unicode(UTF8)
Responder
rogervaldezdijo:
19deabrilde2014en16:57
MuchasGraciasDaniel!!!
Responder
ERZdijo:
6dejuniode2014en08:45
Holalescomentoqueintenteestoynomefunciono,miprincipalproblemaesqueparecequeelcomando
mysql_set_charset()yanofunciona,despusdeunabsquedalocambiepor:
mysqli_set_charset(database,utf8)
yalparecerfuncionaperfectamente.
Saludos
Responder
dbarrenodijo:
28dejuniode2014en15:56
Buenas,
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
9/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
Graciasporelaporte.
MySQLiesunaextensinalgomsmodernadeMySQL,masrecomendabledeusarquestaltima,yaque
efectivamenteestobsoletaapartirdelaversion5.5dePHPytiendeadesaparecer.
Peroactualmentesigueoperativa,elmotivodequenotefuncionemysql_set_charset()esqueentuscriptabrirs
laconexinconmysqli_connect(),loquesignificasqueteconectasalabasededatosutilizandoestaextensiny
portantotodaslasfuncionesqueutilicesdebenperteneceralgrupodefuncionesdeestaextension:
mysqli_error(),mysqli_fetch_array()etc.
DetodasformasyoloquerecomiendoesutilizarPDO,esmasrpidoymasseguro,ynoestancomplicadocomo
alprincipiopuedeparecer.Conunosconocimientosmnimosdeprogramacionorientadaaobjetossepuede
implementarsindificultad.
Unsaludo
Responder
PlacidoOrtega(@ortegatorres10_)dijo:
8dejuniode2014en22:10
Muybuenaporte,gracias.
Responder
CARLOSdijo:
23dejuliode2014en22:51
ESTOYUTILIZANDOLACLASEFPDFYSIGOLASINSTRUCCIONESANTESEXPUESTAYNOCONSIGOMOSTRARLAS
YTILDES.QUEDEBOHACERPORFAVORAYUDA
Responder
dbarrenodijo:
24dejuliode2014en16:26
Hola,
Contanpocainformacinesmuycomplicadopoderayudarte.EnladocumentacindeFPDFpodrsencontrarel
juegodecaracteresqueutilizalaclase.
Dependiendodequestsutilizandotuycmoestconfiguradolaclaseexterna(fpdf),intentaaplicaracada
cadenadetextolafuncionutf8_encode()outf8_decode(),averquetal.
Noeslamejorforma,peroavecesnoquedamasremedio.LoidealseraconfigurarlaclaseFPDFparaquetodala
aplicacinutiliceelmismojuegodecaracteres,perocontanpocainformacin,esloquepuedodecirte
Saludos
Responder
jorgedijo:
9deagostode2014en19:46
Excelente.grandioso,busqueybusquenada.
Perotuposteselbueno,milgracias,saludos.
Responder
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
10/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
ObedAbdiasLunaCruzdijo:
11deseptiembrede2014en19:54
Muchasgraciasmiestimado,
Responder
ObedAbdiasLunaCruzdijo:
11deseptiembrede2014en19:55
gracias
Responder
Reynaldodijo:
12deseptiembrede2014en04:00
Graciasamigomehasidodeayudo.
Amigotengounproblemaynosecomosolucionarlo,loquepasaescuandoyocreoundocumentoHTMLencualquier
programa(sublimetext,notepad,dreamweaver,netbean)correnconnormalidadperocuandocreoundocumentoPHPen
cualquieradelosmencionadosaexcepcindelNetBeansnosemuestrannadaporejemploestecodigo:
Nosemuestra.Esotyutilizandoelxamppyletengoelapacheymysqlactivado.
Responder
Yorchdijo:
12deseptiembrede2014en11:45
Tequieeerooooo.Hacemesesymeses,pornodeciraos,quetengoelproblemilladelastildes,yhastaahorahacaapaos
sustituyendocaracteres,perofinalmenteyGRACIASATIsemeharesuelto.Qufcilpareca!Ypensarquetenalastablas
enuncotejamientoylaswebsenotroGRACIAS!!
Responder
peterdijo:
14deseptiembrede2014en17:17
Quebuenpost!!!Meacabasdesolucionarunproblemaquemehubieracostadohorasencontrarlasolucin!!!
Muchasgracias!!!
Responder
facuapdijo:
18deoctubrede2014en18:30
quetodoslosdiosestebendigan,granexplicacion.!!!
Responder
RexPestdijo:
29deoctubrede2014en18:50
Sosgrosoestofuebrillante,muchasgracias
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
11/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
Responder
Rogerdijo:
17denoviembrede2014en11:46
Hacatiempoquehabatrabajadocontodoestoperoaunoseleolvidancosas.Gracias,mehaservidodemucho!
Responder
NancyCruzSandovaldijo:
17denoviembrede2014en16:15
Amigomuchsimasgracias!!!Funciontalcomoindicas.BendicionesdesdeEcuador!!!
Responder
msolis86dijo:
17denoviembrede2014en16:38
MuchasGraciasmehafuncionadoenmiproyecto!!!
Responder
LuisRiverodijo:
21denoviembrede2014en03:30
Ereselmejor,mesalvaste,yaestabamediolococonesto
Responder
Danieldijo:
3dediciembrede2014en23:01
Buenisima.NotableSolucion.
Responder
Josdijo:
5deenerode2015en14:47
Muchsimasgracias,mequedclaro.
IntentarusarPDO.
Responder
LuisHerazodijo:
6deenerode2015en21:59
MeFuncionomysql_set_charset(utf8)ExcelenteAporte
Responder
Pingback:ProblemasdeAcentosycaracteresaltraerdatosdeunDatabaseconPHP|InformaticToYou
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
12/13
12/7/2015
LasolucinalosproblemasconlosacentosenPHP,MySQLyHTML|Viajesyprogramacion
AngryBirdsdijo:
25demarzode2015en01:37
Muchasgraciasestabaenredadoconlaseesmehaservidodemuchotayuda
Responder
CristianDdijo:
28demayode2015en01:31
Excelenteaporte!Llevabamuchotiempoluchandoconestodelastildes
Responder
eduardogomezsk8dijo:
6dejuniode2015en21:29
GRACIAAAAASAMIGO!
Responder
javiercebdijo:
29dejuniode2015en17:28
Amigoteniavariosdiasbuscandounasolucionparaesto,milgracias
Responder
Rodrigodijo:
30dejuniode2015en02:01
Estimadonuncadejouncomentario,perotupostvalelapenahacerlo.EresunCrack.midolo
Responder
Viajesyprogramacion
EltemaTwentyTen.
FuncionaconWordPress.
https://dbarreno.wordpress.com/2012/10/27/lasolucionalosproblemasconlosacentosenphpmysqlyhtml/
13/13