[linux] mysql / utf8 problemen
Wybo Dekker
wybo op servalys.nl
Di Nov 14 10:22:15 CET 2006
Ik lig voortdurend in de clinch met mijn mysql database voorzover het
gaat om opslag van utf8 teksten.
Mijn locale is:
wybo>locale
LANG=en_IE.utf8
LC_CTYPE="en_IE.utf8"
LC_NUMERIC="en_IE.utf8"
LC_TIME=nl_NL
LC_COLLATE=C
LC_MONETARY="en_IE.utf8"
LC_MESSAGES="en_IE.utf8"
LC_PAPER="en_IE.utf8"
LC_NAME="en_IE.utf8"
LC_ADDRESS="en_IE.utf8"
LC_TELEPHONE="en_IE.utf8"
LC_MEASUREMENT="en_IE.utf8"
LC_IDENTIFICATION="en_IE.utf8"
LC_ALL=
Als ik het volgende sql=scriptje aan mysql aanbied gebeurt precies wat
ik verwacht:
wybo>cat t
drop database if exists test;
create database test;
use test;
drop table if exists `txt`;
create table `txt` ( `txt` text) engine=myisam default charset=utf8;
insert into `txt` values ('áû½');
select * from txt;
wybo>mysql <t
txt
áû½
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:
wybo>mysqldump test|grep INSERT
INSERT INTO `txt` VALUES ('áû½');
wybo>
weet iemand wat ik verkeerd doe/heb staan?
--
Wybo
More information about the Linux
mailing list