sql >> Database teknologi >  >> RDS >> Mysql

utf8-kodning i Perl og MySql

Hvis hver ä/å/ö bliver repræsenteret i outputtet med to bytes, er det også muligt, at du dobbeltkoder tegnene. (I betragtning af at spørgsmålet allerede viser, at du gør $dbh->{'mysql_enable_utf8'} = 1; , jeg formoder, at dette er det mest sandsynlige tilfælde.) En anden mulighed, givet at du viser dette på en webside, er, at siden muligvis ikke angiver, at tegnsættet er UTF-8 i dens <head> og browseren gætter muligvis forkert på den tegnkodning, den bruger.

Tag et nærmere kig på din webapp-ramme, skabelonsystem osv. for at sikre, at værdierne kun bliver kodet én gang, mellem de hentes fra databasen og når de når brugerens browser. Mange frameworks/skabelonmotorer (såsom kombinationen af ​​Dancer og TT, som jeg normalt bruger) vil håndtere output-kodning automatisk, hvis du konfigurerer dem korrekt, hvilket betyder, at dataene vil blive dobbeltkodet, hvis de er eksplicit kodet, før de bliver output.



  1. java.sql.SQLEundtagelse:ORA-03115:ikke-understøttet netværksdatatype eller repræsentation

  2. Ydeevne i PDO / PHP / MySQL:transaktion versus direkte eksekvering

  3. Sådan indsætter du en række i en tabel mellem to eksisterende rækker i Sql

  4. Brug XEvent Profiler til at fange forespørgsler i SQL Server