Skip to content
This repository has been archived by the owner on Jan 29, 2020. It is now read-only.

Escaper - htmlAttrMatcher gives a wrong encoding #17

Open
GeeH opened this issue Jun 28, 2016 · 7 comments
Open

Escaper - htmlAttrMatcher gives a wrong encoding #17

GeeH opened this issue Jun 28, 2016 · 7 comments

Comments

@GeeH
Copy link
Contributor

GeeH commented Jun 28, 2016

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?


@smilingcheater
Copy link

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

@potkot
Copy link

potkot commented Dec 28, 2017

I have this problem too.
Is there a solution?

@smilingcheater
Copy link

smilingcheater commented Jan 9, 2018

@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); } }

@Ocramius
Copy link
Member

Ocramius commented Jan 9, 2018

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

@potkot
Copy link

potkot commented Jan 12, 2018

@smilingcheater Thank you very much! Working solution!

@Ocramius
Copy link
Member

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.

@weierophinney
Copy link
Member

This repository has been closed and moved to laminas/laminas-escaper; a new issue has been opened at laminas/laminas-escaper#5.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants