[linux] Re: mysql / utf8 problemen
Wybo Dekker
wybo op servalys.nl
Di Nov 14 16:20:05 CET 2006
Robert Stockmann schreef:
probeer het hier eens mee :
[jackson:stock]:(~)$ locale
LANG=en_US
LC_CTYPE=en_US
LC_NUMERIC=en_US
LC_TIME=en_US
LC_COLLATE=en_US
LC_MONETARY=en_US
LC_MESSAGES=en_US
LC_PAPER=en_US
LC_NAME=en_US
LC_ADDRESS=en_US
LC_TELEPHONE=en_US
LC_MEASUREMENT=en_US
LC_IDENTIFICATION=en_US
LC_ALL=
dat maakte niets uit...
Martijn van Oosterhout wrote:
> On Tue, Nov 14, 2006 at 10:22:15AM +0100, Wybo Dekker wrote:
>> Ik lig voortdurend in de clinch met mijn mysql database voorzover het
>> gaat om opslag van utf8 teksten.
> <snip>
>
>> Als ik het volgende sql=scriptje aan mysql aanbied gebeurt precies wat
>> ik verwacht:
>
> Is jouw scriptje in utf-8? Als het in Latin-1 is dan is het wel te
> verklaren. Is je xterm ook in utf-8? Of als alternatief, jou terminal
> is wel utf-8 maar mysql dekt dat het latin-1 is.
ja, zowel script (vi -> encoding = fileencoding = utf8) als xterm
(control-button-3) zijn utf8
>> Ik zie dan dus een a met accent aigue, een u met een circonflex en een 1/2
>> Maar als ik daarna mysqldump draai komt het het er vervormd weer uit,
>> alsof de oorspronkelijke utf8 per karakter naar latin1 vertaald is.
>> Terwijl toch de mysqldump man page zegt dat by default utf8 gebruikt
>> wordt:
>
> Is er verder in the mysqldump output iets dat zegt dat het in utf-8 is?
dit is de volledige uitvoer:
-- MySQL dump 10.10
--
-- Host: localhost Database: test
-- ------------------------------------------------------
-- Server version 5.0.18
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
/*!40103 SET @OLD_TIME_ZONE=@@TIME_ZONE */;
/*!40103 SET TIME_ZONE='+00:00' */;
/*!40014 SET @OLD_UNIQUE_CHECKS=@@UNIQUE_CHECKS, UNIQUE_CHECKS=0 */;
/*!40014 SET @OLD_FOREIGN_KEY_CHECKS=@@FOREIGN_KEY_CHECKS,
FOREIGN_KEY_CHECKS=0 */;
/*!40101 SET @OLD_SQL_MODE=@@SQL_MODE,
SQL_MODE='NO_AUTO_VALUE_ON_ZERO' */;
/*!40111 SET @OLD_SQL_NOTES=@@SQL_NOTES, SQL_NOTES=0 */;
--
-- Table structure for table `txt`
--
DROP TABLE IF EXISTS `txt`;
CREATE TABLE `txt` (
`txt` text
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Dumping data for table `txt`
--
/*!40000 ALTER TABLE `txt` DISABLE KEYS */;
LOCK TABLES `txt` WRITE;
INSERT INTO `txt` VALUES ('áû½');
UNLOCK TABLES;
/*!40000 ALTER TABLE `txt` ENABLE KEYS */;
/*!40103 SET TIME_ZONE=@OLD_TIME_ZONE */;
/*!40101 SET SQL_MODE=@OLD_SQL_MODE */;
/*!40014 SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS */;
/*!40014 SET UNIQUE_CHECKS=@OLD_UNIQUE_CHECKS */;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
/*!40111 SET SQL_NOTES=@OLD_SQL_NOTES */;
> Misschien is het dat jou terminal het niet begrijpt?
--
Wybo
More information about the Linux
mailing list