Mysql
 sql >> Baza danych >  >> RDS >> Mysql

kodowanie utf8 w Perlu i MySql

Jeśli każdy ä/å/ö jest reprezentowany na wyjściu przez dwa bajty, możliwe jest również, że kodujesz znaki podwójnie. (Biorąc pod uwagę, że pytanie już pokazuje, jak robisz $dbh->{'mysql_enable_utf8'} = 1; , podejrzewam, że jest to najbardziej prawdopodobny przypadek.) Inną możliwością, biorąc pod uwagę, że wyświetlasz to na stronie internetowej, jest to, że strona może nie określać, że zestaw znaków to UTF-8 w swoim <head> a przeglądarka może nieprawidłowo odgadnąć kodowanie znaków, którego używa.

Przyjrzyj się bliżej swojej strukturze aplikacji internetowej, systemowi szablonów itp., aby upewnić się, że wartości są kodowane tylko raz między momentem ich pobrania z bazy danych a dotarciem do przeglądarki użytkownika. Wiele frameworków/silników szablonów (takich jak kombinacja Dancer i TT, których zwykle używam) będzie obsługiwać kodowanie danych wyjściowych automatycznie, jeśli skonfigurujesz je poprawnie, co oznacza, że ​​dane zostaną zakodowane podwójnie, jeśli zostaną jawnie zakodowane przed wysłaniem. /P>

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MYSQL — zapytanie o spłaszczenie tabeli

  2. Normalizuj wszystkie znaki UTF8 do najbardziej standardowego formatu

  3. Dziwne zachowanie SUM i CONCAT w MySql

  4. Przenoszenie aplikacji Ruby/Rails/MRI do JRuby

  5. zapytanie mysql - formatowanie daty na wyjściu?