[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