motabik Posted October 17, 2023 Share Posted October 17, 2023 Mam problem ze zmienną prestashop na sklepie. Po aktualizacji do 8.1 presty i php po ustawieniu kodowania zadeklarowana zmienna var prestashop jest pusta. //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. 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 More sharing options...
pycode.biz Posted November 13, 2023 Share Posted November 13, 2023 Pytanie dlaczego wybrałeś utf8mb4, a nie domyślnie utf8? Trzeba by konwersje zrobić pół, które wcześniej były zapisane w laltin a teraz powinny być w utf8 Link to comment Share on other sites More sharing options...
motabik Posted November 14, 2023 Author Share Posted November 14, 2023 (edited) 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 November 14, 2023 by motabik (see edit history) 1 Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now