sql >> Databáze >  >> RDS >> Mysql

utf8 kódování v Perlu a MySql

Pokud je každé ä/å/ö ve výstupu reprezentováno dvěma bajty, je také možné, že znaky kódujete dvojitě. (Vzhledem k tomu, že otázka již ukazuje, že děláte $dbh->{'mysql_enable_utf8'} = 1; , mám podezření, že toto je nejpravděpodobnější případ.) Další možností, vzhledem k tomu, že to zobrazujete na webové stránce, je, že stránka nemusí ve svém <head> a prohlížeč mohl nesprávně odhadnout kódování znaků, které používá.

Pečlivě se podívejte na rámec své webové aplikace, systém šablon atd., abyste se ujistili, že hodnoty jsou zakódovány pouze jednou mezi načtením z databáze a okamžikem, kdy se dostanou do prohlížeče uživatele. Mnoho frameworků/šablonových enginů (jako je kombinace Dancer a TT, kterou běžně používám) zpracuje kódování výstupu automaticky, pokud je správně nakonfigurujete, což znamená, že data budou dvojitě zakódována, pokud budou explicitně zakódována před výstupem.



  1. Jak zlepšit výkon MySQL AWS 2x oproti Amazon RDS za stejnou cenu

  2. Implementace a návrh architektury pro systém oznámení pomocí socket.io node.js a příchozích zpráv

  3. Vložte obrázek do databáze postgresql

  4. Nesprávná celočíselná hodnota:'' pro sloupec 'id' na řádku 1