Project

General

Profile

Actions

Bug #19425

closed

Titles of content columns in classic page module doesn't take into account backend charset

Added by Vladimir Podkovanov about 16 years ago. Updated about 16 years ago.

Status:
Closed
Priority:
Should have
Category:
-
Target version:
-
Start date:
2008-10-07
Due date:
% Done:

0%

Estimated time:
TYPO3 Version:
4.2
PHP Version:
5.3
Tags:
Complexity:
Is Regression:
Sprint Focus:

Description

Titles of content columns in classic page module doesn't take into account backend charset ($GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset']) It results in broken russian captions and supposed to be broken in other languages too (except the case when server's locale same as backend lang). Attached patch resoves it, It replaces use of strtoupper to mb_strtoupper which supports charset encoding,

it affects 4.1.7 version as well as 4.2.1
(issue imported from #M9501)


Files

bug_0009501.diff (1.04 KB) bug_0009501.diff Administrator Admin, 2008-10-07 00:02
bug_0009501_1.diff (1.14 KB) bug_0009501_1.diff Administrator Admin, 2008-10-07 15:50
bug_0009501_2.diff (1.06 KB) bug_0009501_2.diff Administrator Admin, 2008-10-07 16:25
bug_0009501_3.diff (980 Bytes) bug_0009501_3.diff Administrator Admin, 2008-10-07 18:58
9501_v4.diff (911 Bytes) 9501_v4.diff Administrator Admin, 2008-10-08 10:31
Actions #1

Updated by Steffen Kamper about 16 years ago

Hi,

you shouldn't use mb-functions direct., use t3lib_cs::conv_case() instead (you don't have to check for ($GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'] for this conversion)

Actions #2

Updated by Vladimir Podkovanov about 16 years ago

Hi Steffen
I got your point, t3lib_cs::conv_case() should be used and there we have conversion via mb_strtolower or via char_mapping.

However we have to explicitly set charset to use t3lib_cs::conv_case().
So we should use $GLOBALS['TYPO3_CONF_VARS']['BE']['forceCharset'] to determine the BE charset and if it is empty we use "iso-8859-1" encoding (actually we do here the same check as in t3lib_div::xml2array() so we match encoding with locallang labels).

I've uploaded new patch bug_0009501_1.diff

Actions #3

Updated by Vladimir Podkovanov about 16 years ago

I've uploaded last correction - patch bug_0009501_2.diff - little correction of coding style for consistency with other code

Actions #4

Updated by Steffen Kamper about 16 years ago

Hi Vladimir,

you can get the actual charset very easy;
$GLOBALS['LANG']->charSet

with 4.2.2 this is always filled, so this should be enough ;-)

Actions #5

Updated by Vladimir Podkovanov about 16 years ago

Hi, uploaded patch bug_0009501_3.diff includes last correction (with use of $GLOBALS['LANG']->charSet)

I've tested it with 4.1.7; 4.2.1; 4.2.2 it works well

Actions #6

Updated by Steffen Kamper about 16 years ago

there is a problem that the function can't be called static.
I changed it using $GLOBALS['LANG']->csConvObj->conv_case instead, new patch is attached

Actions #7

Updated by Martin Kutschker about 16 years ago

Fixed in 4.1, 4.2 and trunk (4.3),

Actions

Also available in: Atom PDF