Skip to main content

Encoding is not proper when query from Apache/PHP


Mike_1
I have some problem with connection to my Vertica. I use PHP and PDO ODBC driver (thrue unixODBC). When I connect to Vertica via isql and select records from table all data are fine encoded - fields with UTF-8 (non ASCII symbols, for example cyrillic) correctly prints. If connect from web with PHP script and execute same query that fields has some unicode characters like this \u001A\u001A\u001A\u001A Each \u001A represent a one non ASCII symbol and can't be printed. I found that this problem occurs only when you run a script from the web (web server is Apache2). So if you run the script from the console, it's OK. But if you do it from localhost/test.php, we get the issue. It occurs on x32 and x64 versions of Vertica client drivers for Linux and Windows. How does the Apache can influence the outcome results that we get from Vertica?

3 replies

Lauri
  • New Participant
  • August 5, 2013
Hi Mike, we had a similar issue.. Problem was, that apache users locale settings were wrong. When we added locale setting directly to PHP code, then everything seems to be ok with multibyte chars.
  
Maybe it helps you :)

Mike_1
  • Author
  • New Participant
  • August 5, 2013
Thank you good man) It's really helped me I tried it before but in my controllers Then I put this string in top of my config file and everything started to work

Lauri
  • New Participant
  • August 5, 2013
you welcome, I'm glad I was able to help.