sql >> Database teknologi >  >> RDS >> PostgreSQL

ugyldig bytesekvens til kodning af UTF8

Hvis du skal gemme UTF8-data i din database, skal du bruge en database, der accepterer UTF8. Du kan kontrollere kodningen af ​​din database i pgAdmin. Bare højreklik på databasen, og vælg "Egenskaber".

Men den fejl lader til at fortælle dig, at der er nogle ugyldige UTF8-data i din kildefil. Det betyder, at copy værktøjet har opdaget eller gættet, at du fodrer det med en UTF8-fil.

Hvis du kører under en variant af Unix, kan du kontrollere kodningen (mere eller mindre) med file værktøj.

$ file yourfilename
yourfilename: UTF-8 Unicode English text

(Jeg tror, ​​at det også vil fungere på Mac'er i terminalen.) Ved ikke, hvordan man gør det under Windows.

Hvis du bruger det samme værktøj på en fil, der kom fra Windows-systemer (det vil sige en fil, der ikke er kodet i UTF8), vil det sandsynligvis vise noget som dette:

$ file yourfilename
yourfilename: ASCII text, with CRLF line terminators

Hvis tingene forbliver underlige, kan du prøve at konvertere dine inputdata til en kendt kodning, for at ændre din klients kodning eller begge dele. (Vi strækker virkelig grænserne for min viden om kodninger.)

Du kan bruge iconv værktøj til at ændre kodning af inputdata.

iconv -f original_charset -t utf-8 originalfile > newfile

Du kan ændre psql (klienten)-kodning ved at følge instruktionerne i Character Set Support. På den side skal du søge efter sætningen "For at aktivere automatisk tegnsætkonvertering".



  1. Brug af PHP-MySQL-vedvarende forbindelser til at køre WordPress-blog

  2. 3 måder at liste alle lagrede procedurer i en SQL Server-database

  3. WordPress – Bag kulisserne, del 1

  4. Nulstil identitetsseed efter sletning af poster i SQL Server