From 925ea02b4c86d6da27b827f6b117ca66b3eaef78 Mon Sep 17 00:00:00 2001 From: "bar@mysql.com" <> Date: Thu, 6 Apr 2006 10:51:23 +0500 Subject: [PATCH] This problem has already been fixed by one of the previous changes. Adding test case to cover queries which worked incorrectly earlier: Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci --- mysql-test/r/ctype_latin1.result | 22 ++++++++++++++++++++++ mysql-test/t/ctype_latin1.test | 14 ++++++++++++++ 2 files changed, 36 insertions(+) diff --git a/mysql-test/r/ctype_latin1.result b/mysql-test/r/ctype_latin1.result index cf4bf6e2fdd..f8e07e1eb6f 100644 --- a/mysql-test/r/ctype_latin1.result +++ b/mysql-test/r/ctype_latin1.result @@ -369,3 +369,25 @@ ERROR 42000: You have an error in your SQL syntax; check the manual that corresp SELECT '„a' as str; str „a +set @str= _latin1 'ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc'; +SELECT convert(@str collate latin1_bin using utf8); +convert(@str collate latin1_bin using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc +SELECT convert(@str collate latin1_general_ci using utf8); +convert(@str collate latin1_general_ci using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc +SELECT convert(@str collate latin1_german1_ci using utf8); +convert(@str collate latin1_german1_ci using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc +SELECT convert(@str collate latin1_danish_ci using utf8); +convert(@str collate latin1_danish_ci using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc +SELECT convert(@str collate latin1_spanish_ci using utf8); +convert(@str collate latin1_spanish_ci using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc +SELECT convert(@str collate latin1_german2_ci using utf8); +convert(@str collate latin1_german2_ci using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc +SELECT convert(@str collate latin1_swedish_ci using utf8); +convert(@str collate latin1_swedish_ci using utf8) +ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc diff --git a/mysql-test/t/ctype_latin1.test b/mysql-test/t/ctype_latin1.test index a005b4769c4..dead9a7a0bc 100644 --- a/mysql-test/t/ctype_latin1.test +++ b/mysql-test/t/ctype_latin1.test @@ -95,4 +95,18 @@ SET collation_connection='latin1_bin'; CREATE TABLE „a (a int); SELECT '„a' as str; + +# +# Bug#18321: Can't store EuroSign with latin1_german1_ci and latin1_general_ci +# The problem was in latin1->utf8->latin1 round trip. +# +set @str= _latin1 'ABC €°§ß²³µ~ äöüÄÖÜ áéíóú ÀÈÌÒÙ @ abc'; +SELECT convert(@str collate latin1_bin using utf8); +SELECT convert(@str collate latin1_general_ci using utf8); +SELECT convert(@str collate latin1_german1_ci using utf8); +SELECT convert(@str collate latin1_danish_ci using utf8); +SELECT convert(@str collate latin1_spanish_ci using utf8); +SELECT convert(@str collate latin1_german2_ci using utf8); +SELECT convert(@str collate latin1_swedish_ci using utf8); + # End of 4.1 tests