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

V databázi jsou symboly jako  a tak dále, co dělat?

Záleží na tom, jaký je vlastně problém...

Pokud je to tak, že tyto znaky jsou předpokládány abyste tam byli (jako například „Mañana“ ve španělštině), musíte se ujistit, že je vše v UTF-8... nejlepší způsob je:

1:zkontrolujte, zda jsou databázové tabulky v kódování "utf-8" (pokud je nepřeveďte na utf-8)

2:Jak poznamenal Martin, ujistěte se, že konektor databáze je utf-8 pomocí něčeho jako:

mysql_set_charset('utf8'); //note that MySQL uses no hyphen here

3:Ujistěte se, že je dokument utf-8 (můžete přidat záhlaví nahoře)

<?php header('Content-type:text/html;charset=utf-8'); ?>

4:pro jistotu to přidejte také jako meta tag

<meta http-equiv="content-type" content="text/html;charset=utf-8" />

VŠAK

Je docela možné, že máte v databázi nějaké duffové znaky, kde bylo něco jako ISO-8859-1 špatně upraveno do UTF-8. V tomto případě si všimnete věcí jako £ kde to, co skutečně chcete, je £ (Vzhledem k tomu, že znaky UTF-8 obsahují více dat než znaky ISO-8859-1, mohou se tato data navíc stát dalším znakem, pokud si nedáte pozor).

V takovém případě je nejlepším řešením vyčistit databázi (pravděpodobně byste mohli udělat něco jako UPDATE table SET field = REPLACE(field, '£', '£') pro běžné "chyby") a poté převeďte celý kaboodle na UTF-8 (jak je uvedeno výše), aby se problém neopakoval.



  1. Jak vytvořit hlavní knihu/T-účet pomocí PHP Mysql

  2. Rozlišují názvy tabulek v MySQL velká a malá písmena?

  3. Vyberte poslední záznam v tabulce (pole datum a čas)

  4. Škálování databáze Moodle