ekezetek ismet
MS Sql7 szerverbol szedem az adatokat php-vel, freetds-en keresztul. Az sql szerver beallitasai: language Eglish (United States); Code page 1252;
Az apache a default iso-8859-1, es AddDefaultCharset on.
Hiaba probaltam apacheban AddefaultCharset off-t, es a php fileban header("Content-Type: text/html; charset=cp-1252");
Az ekezetek helyen "?"-et hoz. Mit kene meg tennem, hogy szuperaljon?
Windowson query analiserben megvannak az ekezetek...
Az sql szerver parameterein nem valtoztathatok. Ugy gondoltam, ha az apacsnak es a weblapoknak is ugyanazt a codepage, charset-et allitom be, akkor jo lesz. Vagy rosszul gondolom?
Van meg egy bibi: ha a ...where-be ekezet kerul, akkor kiakad:
Ezt kuldom a szervernek:
SELECT name1, name2, address FROM clients WHERE (name1 LIKE '%béla%' OR name2 LIKE '%béla%' OR name3 LIKE '%béla%' )
Es ezt mondja:
Warning: mssql_query(): Sybase message: Unclosed quotation mark before the character string '%b?P.??????????????/.????????/./...????????/.?????????'. (severity 15) in /var/www/p/condition.php on line 29
Warning: mssql_query(): Sybase message: Line 1: Incorrect syntax near '%b?P.??????????????/.????????/./...????????/.?????????'. (severity 15) in /var/www/p/condition.php on line 29
Warning: mssql_fetch_array(): 0 is not a Sybase result index in /var/www/p/condition.php on line 30
Mi lehet a gond?
A valtozo, amiben a bela van nincs ellenorizve, elvileg barmilyen karakternek kereshetonek kene lenni. Vagy kell ide a htmlspecialchars fg? Es mivan ha "'"-t szeretnek keresni? Akkor kiakad a query-m...?
koszi
■ Az apache a default iso-8859-1, es AddDefaultCharset on.
Hiaba probaltam apacheban AddefaultCharset off-t, es a php fileban header("Content-Type: text/html; charset=cp-1252");
Az ekezetek helyen "?"-et hoz. Mit kene meg tennem, hogy szuperaljon?
Windowson query analiserben megvannak az ekezetek...
Az sql szerver parameterein nem valtoztathatok. Ugy gondoltam, ha az apacsnak es a weblapoknak is ugyanazt a codepage, charset-et allitom be, akkor jo lesz. Vagy rosszul gondolom?
Van meg egy bibi: ha a ...where-be ekezet kerul, akkor kiakad:
Ezt kuldom a szervernek:
SELECT name1, name2, address FROM clients WHERE (name1 LIKE '%béla%' OR name2 LIKE '%béla%' OR name3 LIKE '%béla%' )
Es ezt mondja:
Warning: mssql_query(): Sybase message: Unclosed quotation mark before the character string '%b?P.??????????????/.????????/./...????????/.?????????'. (severity 15) in /var/www/p/condition.php on line 29
Warning: mssql_query(): Sybase message: Line 1: Incorrect syntax near '%b?P.??????????????/.????????/./...????????/.?????????'. (severity 15) in /var/www/p/condition.php on line 29
Warning: mssql_fetch_array(): 0 is not a Sybase result index in /var/www/p/condition.php on line 30
Mi lehet a gond?
A valtozo, amiben a bela van nincs ellenorizve, elvileg barmilyen karakternek kereshetonek kene lenni. Vagy kell ide a htmlspecialchars fg? Es mivan ha "'"-t szeretnek keresni? Akkor kiakad a query-m...?
koszi
Re:Ekezetek ismet
putenv('TDSVER=4.2');
putenv('TDSVER=7.0');-val nem mukodik.