zend-escaper icon indicating copy to clipboard operation
zend-escaper copied to clipboard

Escaper - htmlAttrMatcher gives a wrong encoding

Open GeeH opened this issue 9 years ago • 7 comments

This issue has been moved from the zendframework repository as part of the bug migration program as outlined here - http://framework.zend.com/blog/2016-04-11-issue-closures.html


Original Issue: https://api.github.com/repos/zendframework/zendframework/issues/7621 User: @esase Created On: 2015-08-28T16:08:25Z Updated At: 2015-11-06T22:20:41Z Body I didn't see this trouble before but when I updated my Zend with the latest 2.5.1 I see the very strange behaviour. All form elements show me Chines characters like this 킞톂킿톀킰킲킸톂톌 instead of Войти (Russian) e.g.

It happens only on windows platform, on Linux everything is ok. My work environment is: OS: Windows PHP: 5.4.12 Site locale: ru_RU

I found this issue here - zend-escaper\src\Escaper.php in htmlAttrMatcher($matches) method

PS: For English everything is ok


Comment

User: @esase Created On: 2015-08-31T06:37:51Z Updated At: 2015-08-31T06:37:51Z Body Anyone?


GeeH avatar Jun 28 '16 12:06 GeeH

Having same issue. Updated to last version. Any recommendations?

smilingcheater avatar Oct 19 '16 08:10 smilingcheater

I have this problem too. Is there a solution?

potkot avatar Dec 28 '17 07:12 potkot

@potkot I overrided exist escaper with my own. In module.config.php added:

'view_helpers' => [ 'factories' => [ \App\View\Helper\EscapeHtmlAttr::class => InvokableFactory::class, ], 'aliases' => [ 'escapehtmlattr' => \App\View\Helper\EscapeHtmlAttr::class, ] ]

and created new helper:

namespace App\View\Helper; class EscapeHtmlAttr extends \Zend\View\Helper\EscapeHtmlAttr { protected function escape($value) { return htmlspecialchars($value); } }

smilingcheater avatar Jan 09 '18 09:01 smilingcheater

The correct solution is to pass in utf8 strings, as expected. A test case is needed if this persists.

Ocramius avatar Jan 09 '18 09:01 Ocramius

@smilingcheater Thank you very much! Working solution!

potkot avatar Jan 12 '18 10:01 potkot

No, that's a workaround, and an un-proven one.

Write a test please, then the workaround can be verified against the existing test suite and the new test.

Ocramius avatar Jan 12 '18 11:01 Ocramius

This repository has been closed and moved to laminas/laminas-escaper; a new issue has been opened at https://github.com/laminas/laminas-escaper/issues/5.

weierophinney avatar Dec 31 '19 21:12 weierophinney