[TYPO3-dev] Weird Upgrade Problem 4.1.x -> 4.2.x

Peter Russ peter.russ at 4many.net
Wed Mar 18 08:47:04 CET 2009


--- Original Nachricht ---
Absender:   Martin Kutschker
Datum:       18.03.2009 08:32:
> Peter Russ schrieb:
>> --- Original Nachricht ---
>> Absender:   Martin Kutschker
>> Datum:       18.03.2009 08:16:
>>> Peter Russ schrieb:
>>>> Thanks Ben, but we don't have problem to convert as customer would like
>>>> to stay with iso-8859-1 (latin1). The point is that we loose information
>>>> when upgrading ...
>>> You say that the Database runs in utf8 but TYPO3 uses iso-8859-1?
>>>
>>> What does that mean in terms of setup (Mysql and TYPO3)?
>>>
>>> Anyway, what I wrote about BLOB to TEXT conversion could be also a
>>> problem in this case. If Mysql really stores the data in utf8 (but talks
>>> to the client in iso-8859-1) then the data BLOB will not be converted to
>>> utf-8 when the data type is changed. OTOH the on-the-fly conversion from
>>> utf8 (storage format) to iso-8859-1 (client format) will fail (as
>>> iso-8859-1 is nt valid in utf-8).
>>>
>>> Masi
>> Masi I would agree, if that would be also a problem with version 4.1.10
>> of TYPO3. BUT we get the problem after update, i.e. after the
>> ALTER table .... TEXT
>> converting blob to something different that blob performed by
>> install->compare
> 
> Would you please post your TYPO3 (forceCharset, dbInit) and Mysql (SHOW
> VARIABLES LIKE 'character_set%';) settings?
> 
> I'm not sure if I understand you, but I have the feeling that you don't
> understand what the difference between TEXT and BLOB is.
> 
> Masi

Perhaps this might help you to understand:
mysql> SHOW VARIABLES LIKE 'character_set%';
+--------------------------+----------------------------+
| Variable_name            | Value                      |
+--------------------------+----------------------------+
| character_set_client     | latin1                     |
| character_set_connection | latin1                     |
| character_set_database   | utf8                       |
| character_set_filesystem | binary                     |
| character_set_results    | latin1                     |
| character_set_server     | latin1                     |
| character_set_system     | utf8                       |
| character_sets_dir       | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)

mysql> SHOW VARIABLES LIKE 'collation%';
+----------------------+-------------------+
| Variable_name        | Value             |
+----------------------+-------------------+
| collation_connection | latin1_swedish_ci |
| collation_database   | utf8_general_ci   |
| collation_server     | latin1_swedish_ci |
+----------------------+-------------------+

CREATE TABLE `test` ( `id` int(10) DEFAULT NULL, `name` blob) 
ENGINE=myisam DEFAULT CHARSET=utf8;

insert into test values (1,"Abc® Core™2 processor with XYZ™ technology");

mysql> select * from test;
+------+-------------------------------------------------+
| id   | name                                            |
+------+-------------------------------------------------+
|    1 | Abc® Core™2 processor with XYZ™ technology |
+------+-------------------------------------------------+
1 row in set (0.00 sec)


alter table test modify name text;
mysql> select * from test;
+------+--------------------------------------------+
| id   | name                                       |
+------+--------------------------------------------+
|    1 | Abc� Core�2 processor with XYZ� technology |
+------+--------------------------------------------+


drop table test;

-- 
Fiat lux! Docendo discimus.
_____________________________
uon GbR

http://www.uon.li
http://www.xing.com/profile/Peter_Russ




More information about the TYPO3-dev mailing list