Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> MSSQL + PHP + francuskie znaki
kr27
post
Post #1





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.03.2007

Ostrzeżenie: (0%)
-----


Witam

Czy orientuje się ktoś z Was jak poprawnie wyświetlać i zapisywać francuskie znaki w PHP w MSSQL ?
W Enterprise Manager do tabeli wpisuję np:
àâçéèêëîïôûùüÿœæÀÂÇÉÈÊËÎÏÔÛÙÜŸŒÆ

Następnie wykonuję kod:
echo iconv("Windows-1250", "UTF-8//TRANSLIT//IGNORE", $pole);

W rezultacie mam:
aâçéeeëîiôuuüyoaAÂÇÉEEËÎIÔUUÜYOA

Wiem, że znaku "à" nie ma w kodowaniu 1250 i w tym problem - więc jakie to kodowanie powinno być skoro w tej samej kolumnie mam też zapisane dane w języku polskim, niemieckim oraz czeskim (z nimi nie ma żadnego problemu)

Z góry dziękuję
Pozdrawiam






Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
kr27
post
Post #2





Grupa: Zarejestrowani
Postów: 27
Pomógł: 0
Dołączył: 20.03.2007

Ostrzeżenie: (0%)
-----


50% problemu rozwiązane!

SELECT CONVERT( varbinary( MAX ), kolumna_nvarchar ) AS kolumna_nvarchar FROM tabela
powyższe pomaga przy odczycie danych. Nawet poprawnie wyświetlają mi się rosyjskie czcionki.


Problem natomiast mam cały czas z zapisem.
Stosuję odwrotność w postaci:

UPDATE tabela SET pole=CONVERT(varbinary(300), :pole ) WHERE id=4

":pole" przekazuje w PDO przez parametr po konwersji: iconv("UTF-8","UCS-2LE", $zmienna);

Wszystko jest ok ale tylko jeśli pod $zmienna przekazuje jeden znak np. "à" - jeśli przekaże kilka znaków np "àà" to wywala mi błąd:
Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[HY000]: General error: 10007 Line 1: Incorrect syntax near '�'. [10007] (severity 5) [(null)]'

Czy masz jakiś pomysł?
Bardzo dziękuję za dotychczasową pomoc.



Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 4.10.2025 - 12:24