Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Kodowanie znaków
adminik
post
Post #1





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 22.01.2008
Skąd: Tarnobrzeg

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


Sprawa jest taka że.

CMS MemHT Portal oraz MemHT PolishPack 1 mają kodowanie znaków ustawione na ISO natomiast wersja MemHT PolishPack 2 na utf i tu powstaje problem.

Przy czystej instalacji pp2 niema problemów z kodowaniem natomiast gdy ktoś zaaktualizuje z innej wersji do PolishPack 2 pojawiają się krzaczki.

Ja widzę tutaj 2 rozwiązania lecz niemam na nie już pomysłu.
1. Zrobić skrypt do konwersji bazy który będzie się uruchamiał podczas aktualizacji.
2. Zrobić skrypt który będzie podczepiony do metody query w klasie database.

Co do 1 niemam pomysłu całkowicie jak zrobić skrypt aby nie wykraczył się z większą bazą.
Co do 2 to:
Zrobiłem funkcję do konwersji znaków i nic pokazywało komunikat o tym że nie może znaleść tabeli w bazie...
Użyłęm funkcji iconv() =>
Kod
<b>Warning</b>:  iconv() expects parameter 3 to be string, resource given in <b>...</b>

Używałem także unicode_decode() oraz utf8_encode() i wszystko na co napotkałem się w manualu ale z tym naprawdę niemogę sobie poradzić.

Nie oczekuje gotowego skryptu oczekuje natomiast pewnych wskazówek które pomogły by mi w rozwiązaniu problemu.
Wstyd mi pisać bo jeśli zajmuje się stroną kodową MemHT PolishPack powiniennem sobie z tym bez problemu poradzić a jednak nigdy nie spodkałem się z tym problemem i stoję w miejscu...
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
adminik
post
Post #2





Grupa: Zarejestrowani
Postów: 24
Pomógł: 0
Dołączył: 22.01.2008
Skąd: Tarnobrzeg

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


Nie używałem nigdy tego typu funkcji lecz myślę że implementuje ją poprawnie.

Plik: inc/inc_database.php
Linie: 82-86
Medota: query
Kod bez zmian
Kod
    function query($query) {
        $result = mysql_query($query,$this->dblink);
        
        return $result;
    }

Z iconv
Kod
    function query($query) {
        $result = mysql_query($query,$this->dblink);
        
        $result = iconv("ISO-8859-2","UTF-8", $result);
        
        return $result;
    }



Co prawda z tym iconv będzie jeszcze trzeba zrobić instrukcję warunkową która włącza tą funkcję tylko jeżeli wynik zapytania jest kodowany w ISO (IMG:http://forum.php.pl/style_emoticons/default/smile.gif) Ale to nie problem.

Ten post edytował adminik 10.07.2008, 12:13:37
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: 9.10.2025 - 11:22