Jump to content

PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES latin2' - problem with var prestashop


motabik

Recommended Posts

Mam problem ze zmienną prestashop na sklepie.

Po aktualizacji do 8.1 presty i php po ustawieniu kodowania zadeklarowana zmienna var prestashop jest pusta.

image.png.db74ba7f0a4edcc530fa549d41cd228f.png

 

//zmiana 'SET NAMES utf8mb4', na latin2
        return new PDO(
            $dsn,
            $user,
            $password,
            [
                PDO::ATTR_TIMEOUT => $timeout,
                PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
                PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES latin2',
                PDO::MYSQL_ATTR_MULTI_STATEMENTS => _PS_ALLOW_MULTI_STATEMENTS_QUERIES_,
            ]
        );

 

Jezeli mam kodowanie standardowe to zmienna się uzupełnia ale nie mam polskich znaków.

image.png.fd78e046a53ede63c0e7953e552506ed.png

return new PDO(
            $dsn,
            $user,
            $password,
            [
                PDO::ATTR_TIMEOUT => $timeout,
                PDO::MYSQL_ATTR_USE_BUFFERED_QUERY => true,
                PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8mb4',
                PDO::MYSQL_ATTR_MULTI_STATEMENTS => _PS_ALLOW_MULTI_STATEMENTS_QUERIES_,
            ]
        );

 

Ale potrzebuje polskie znaki i to żeby ta zmienna była uzupełniona bo wiele skryptów z niej korzysta.

Może ktoś wie jak rozwiązać ten problem?

 

 

Link to comment
Share on other sites

  • 4 weeks later...
Quote

Problem polega na tym że tylko kodowanie utf8mb4, sprawia że poprawnie się wyświetlają wszystkie znaki, samo utf8 sprawia że nie wyświetlają sie emoji.

Problem w zasadzie rozwiazałem w ten sposób, że zrobiłem konwersje całej bazy z latin2 na utf8mb4_general_ci.
Trzeba było zrobić eksport danych jako latin2, nastepnie przekodować plik w notepad++ na utf8 , podmienić w nim wszystkie charsety i wgrać bazę na nowo.
Po tej operacji mam wszystkie dane w bazie zakodowane jako utf8, widać polaskie znaki w phpadminie, i na stronie wszystko wyświetla się i działa poprawnie.

Temat zamykam.

 

Edited by motabik (see edit history)
  • Like 1
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...