Task #78670

Epic #72333: Clean up charset conversion and language service

Remove iconv usage and use mbstring polyfill

Added by Markus Klein about 3 years ago. Updated over 2 years ago.

Status:
Closed
Priority:
Should have
Assignee:
Category:
Backend API
Target version:
Start date:
2016-11-12
Due date:
% Done:

100%

TYPO3 Version:
8
PHP Version:
Tags:
Complexity:
easy
Sprint Focus:

Description

Iconv has subtle different behaviour than mbstring, hence unit tests fail with iconv.
Currently the testing framework does not test iconv (and the fallback) explicitly, hence we do not want to put effort into further supporting this in the future.

On top of that we already have the mbstring-polyfill in place through symfony. We should leverage this and therefore reduce our code size.


Related issues

Related to TYPO3 Core - Task #72339: Remove legacy charset conversion (non-mbstring, non-iconv) Closed 2016-01-08

Associated revisions

Revision 0cad8803 (diff)
Added by Markus Klein about 3 years ago

[TASK] Remove iconv support and use mbstring-polyfill

We remove the iconv support in the CharsetConverter as the PHP internal
implementation of some functions differ from their mb_string pendants.
This gives us a real headache in edge-cases.

We already have the mbstring-polyfill as an indirect dependency in
the Core (by symfony), so we simply require it our own now and use
mb_string all over the places.

This renders quite a few methods of CharsetConverter useless
and we therefore deprecate those.

Resolves: #78670
Releases: master
Change-Id: I88479f7939e0afb46f704d4e8f347abd2e10fc6d
Reviewed-on: https://review.typo3.org/50607
Tested-by: TYPO3com <>
Reviewed-by: Anja Leichsenring <>
Tested-by: Anja Leichsenring <>
Reviewed-by: Benni Mack <>
Tested-by: Benni Mack <>

Revision 9cf2adf8 (diff)
Added by Benni Mack about 3 years ago

[FOLLOWUP][TASK] Remove iconv support and use mbstring-polyfill

The method csConv->strtrunc() is missing in the deprecation.

Resolves: #78670
Releases: master
Change-Id: I95284f2ded36f61410806494dd5cd8f1db22c586
Reviewed-on: https://review.typo3.org/51215
Reviewed-by: Markus Klein <>
Tested-by: Markus Klein <>
Tested-by: TYPO3com <>
Reviewed-by: Wouter Wolters <>
Tested-by: Wouter Wolters <>

History

#1 Updated by Gerrit Code Review about 3 years ago

  • Status changed from New to Under Review

Patch set 1 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#2 Updated by Gerrit Code Review about 3 years ago

Patch set 2 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#3 Updated by Gerrit Code Review about 3 years ago

Patch set 3 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#4 Updated by Gerrit Code Review about 3 years ago

Patch set 4 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#5 Updated by Riccardo De Contardi about 3 years ago

  • Parent task set to #72333

#6 Updated by Gerrit Code Review about 3 years ago

Patch set 5 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#7 Updated by Gerrit Code Review about 3 years ago

Patch set 7 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#8 Updated by Gerrit Code Review about 3 years ago

Patch set 8 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#9 Updated by Gerrit Code Review about 3 years ago

Patch set 9 for branch master of project Packages/TYPO3.CMS has been pushed to the review server.
It is available at https://review.typo3.org/50607

#10 Updated by Markus Klein about 3 years ago

  • Status changed from Under Review to Resolved
  • % Done changed from 0 to 100

#11 Updated by Riccardo De Contardi over 2 years ago

  • Status changed from Resolved to Closed

Also available in: Atom PDF