DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu

Najpierw jednak chcę wyrazić wdzięczność Siergiejowi Wołkowowi i Denisowi Szaromowowi, których materiały pomogły w przygotowaniu tego artykułu.

Uwaga! Konieczne jest edytowanie plików serwisu przez ftp lub ssh.

A teraz zacznijmy.

1. Utwórz kopię zapasową i pamiętaj o dołączeniu bazy danych i wszystkich plików serwisu.

2. Jeśli korzystasz z hostingu wirtualnego, poproś pomoc techniczną o ustawienie następujących parametrów:

mbstring.func_overload 2
mbstring.internal_encoding UTF-8
Jeśli używasz maszyny wirtualnej Bitrix, możesz zainstalować ją samodzielnie.

3. Usuń moduły „Szukaj” bez zapisywania tabel i „Analityki internetowej” (bez zapisywania tabel, ale zachowując szablony wiadomości).

4. Usuń ze słownika transliterację w module „Forum” ( Usługi\u003e Fora\u003e Filtr wulgaryzmów\u003e Słownik transliteracji) litera „ё”, która ma identyfikator \u003d 7.

5. Zmień kodowanie z windows-1251 na utf-8 w ustawieniach regionalnych.


W ustawieniach witryny należy wybrać odpowiednie ustawienie regionalne.

6. Dodaj do /bitrix/php_interface/dbconn.php:

define ("BX_UTF", prawda);

7. Załaduj skrypt convert_utf8.php do katalogu głównego serwisu, uruchom go i poczekaj na zakończenie.
Pierwszym krokiem jest sprawdzenie uprawnień do zmiany plików, drugim konwersja wszystkich plików serwisu, a ostatnim zmianą kodowania bazy danych.
Jeśli masz bardzo dużą bazę danych, jej konwersja może zająć bardzo dużo czasu lub w ogóle się nie powieść. W takim przypadku ręcznie zmień kodowanie bazy danych w następujący sposób. W panelu administracyjnym na stronie „Zapytanie SQL” wykonaj następujące zapytanie:


Gdzie nazwa_bazy_danych to nazwa twojej bazy danych.
To żądanie spowoduje wyświetlenie nowego żądania na stronie, które będzie musiało zostać wykonane na tej samej stronie:


Skopiuj wszystkie wiersze nowego zapytania (nie zapomnij wyłączyć ograniczenia wyświetlania liczby rekordów na stronie) i wykonaj otrzymane nowe zapytanie. Po zakończeniu wykonywania wszystkie tabele bazy danych zostaną przekonwertowane na kodowanie UTF-8.

8. Dodaj do /bitrix/php_interface/after_connect.php:

$ DB-\u003e Query ("SET NAMES" utf8 ""); $ DB-\u003e Query ("SET collation_connection \u003d" utf8_unicode_ci "");

9. Dodaj do /bitrix/php_interface/after_connect_d7.php:
$ connection-\u003e queryExecute ("SET NAMES" utf8 ""); $ connection-\u003e queryExecute ("SET collation_connection \u003d" utf8_unicode_ci "");

10. Wpisz /bitrix/.settings.php:
return array ("utf_mode" \u003d\u003e array ("value" \u003d\u003e true, "readonly" \u003d\u003e true,),

11. Wyczyść całą pamięć podręczną witryny i wyloguj się ze swojego profilu, a następnie zaloguj się ponownie.

12. Usuń skrypt convert_utf8.php.

13. Zainstaluj moduł „Search” i ponownie zindeksuj.

14. Zainstaluj moduł „Web Analytics”, jeśli korzystałeś z niego wcześniej.

Gotowe!

Po przekonwertowaniu strony mogą pojawić się problemy z tablicami serializowanymi (są to głównie właściwości tekstu HTML i ustawienia wyświetlania dla użytkowników w panelu administracyjnym). W takim przypadku to ci pomoże

Jeśli kodowanie jest nieprawidłowe, cała witryna lub jej część jest wyświetlana jako „kryapozyabl”, tj. niezrozumiałe znaki, które czynią tekst nieczytelnym. Taka sytuacja może wystąpić, jeśli kodowanie serwera sieci Web jest nieprawidłowo skonfigurowane lub nie ma żadnych ustawień. Rozważ możliwe opcje i sposoby rozwiązania problemów

Nieprawidłowe kodowanie strony HTML

Stwórzmy plik testowy:

Sudo gedit /var/www/html/encoding.html

Skopiujmy do tego:

Kontrola kodowania

Otwórzmy ten plik w przeglądarce http: //localhost/encoding.html

Jak widać, kodowanie przeglądarki jest nieprawidłowo zdefiniowane:

Istnieje kilka sposobów zaradzenia tej sytuacji. Zacznijmy od najprostszej rzeczy - jawnie określ kodowanie strony internetowej. Odbywa się to za pomocą metatagu, który należy umieścić wewnątrz tagu. głowa:

Dodajmy tę linię do naszego pliku testowego, aby wyglądała następująco:

Kontrola kodowania

Plik testowy, aby sprawdzić kodowanie

Jak widać na poniższym zrzucie ekranu, problem został rozwiązany:

Jeśli kodowanie Twojego pliku różni się od UTF-8, a następnie włóż windows-1251 lub takie, które pasuje do kodowania strony internetowej. Aby dowiedzieć się, jak określić kodowanie plików, zobacz.

To był najłatwiejszy sposób rozwiązania problemu z kodowaniem - bez zmiany ustawień serwera.

Przywróćmy nasz plik testowy do jego pierwotnego stanu i kontynuujmy badanie sposobów określenia kodowania.

Jeśli pliki .htaccess włączone przez ustawienia Apache, pliki te mogą służyć do określania kodowania stron wysyłanych przez serwer WWW. Aby włączyć obsługę plików .htaccess w pliku konfiguracyjnym Apache ( /etc/apache2/apache2.conf) znajdź grupę linii

Opcje Indeksy FollowSymLinks AllowOverride Brak Wymagaj wszystkich przyznanych

I w nim wymienić

AllowOverride None

AllowOverride All

Następnie serwer musi zostać zrestartowany.

Sudo systemctl zrestartuj apache2.service

Plik .htaccess musi znajdować się w tym samym katalogu, co witryna. Moja witryna jest hostowana w katalogu głównym serwera WWW. Jeśli masz, to teraz w folderze / var / www / html / utwórz plik .htaccess i dodaj do niego dyrektywę AddDefaultCharsetpo czym określ żądane kodowanie. Przykłady

AddDefaultCharset UTF-8

AddDefaultCharset windows-1251

Możesz określić kodowanie, które zostanie zastosowane tylko do plików o określonym formacie:

AddCharset utf-8 .atom .css .js .json .rss .vtt .xml

Zbiór plików może być dowolny, na przykład:

AddCharset utf-8 .html .css .php .txt .js

Następna opcja jest alternatywą i pozwala również ustawić kodowanie dla plików określonego typu, w tym celu musisz włączyć mod_headers:

Zestaw nagłówków Content-Type "text / html; charset \u003d utf-8"

Inna opcja, której można również użyć w pliku .htaccess aby ustawić kodowanie UTF-8:

IndexOptions + Charset \u003d UTF-8

Jeśli witryna jest w PHP, może być konieczne zduplikowanie kodowania z php_value default_charset:

AddDefaultCharset windows-1251 php_value default_charset "cp1251"

Zamiast tworzyć plik .htaccess, możesz ustawić kodowanie w pliku konfiguracyjnym serwera WWW. W przypadku Apache CentOS / Fedora jest to plik httpd.conf, aw przypadku systemu Debian / Ubuntu jest to plik apache2.conf. Dodaj następujący wiersz, aby ustawić kodowanie i zrestartuj serwer WWW, aby zmiany odniosły skutek:

AddDefaultCharset UTF-8

Jak ustawić kodowanie UTF-8 w PHP

Skrypt PHP używa do ustawienia kodowania nagłóweknp .:

Header ("Content-Type: charset \u003d utf-8");

Zwykle wraz z kodowaniem wskazywany jest również typ zawartości (w przykładzie opcja dla strony HTML):

Header ("Content-Type: text / html; charset \u003d utf-8");

Inna opcja dla kanału RSS:

Header ("Content-type: text / xml; charset \u003d utf-8");

Pamiętaj, że funkcja nagłówek musi być wywołane przed jakimkolwiek wyjściem do przeglądarki. W przeciwnym razie (jeśli wyjście do przeglądarki zostało już wykonane), to nagłówki zostały już wysłane. Oczywiste jest, że w tym przypadku nie można ich już zmienić. Jeśli w przeglądarce został wyświetlony komunikat o błędzie, oznacza to, że nagłówki zostały już wysłane i użycie nagłówka spowoduje zgłoszenie błędu. Aby sprawdzić, czy nagłówki zostały już wysłane, użyj headers_sent.

Opisana metoda działa tylko wtedy, gdy skrypt PHP całkowicie generuje zawartość strony. Strony statyczne (takie jak html) powinny być przechowywane w kodowaniu utf-8. Większość serwerów WWW zwróci uwagę na kodowanie plików i doda odpowiedni nagłówek. W rzeczywistości przechowywanie pliku PHP w kodowaniu utf-8 da ten sam wynik.

Nieprawidłowe kodowanie wyników z bazy danych MySQL

Jeśli Twoja witryna składa się z części statycznej (szablonu) i dynamicznej, która jest utworzona z danych otrzymanych z bazy danych, to może wystąpić sytuacja, gdy część witryny ma prawidłowe kodowanie, a druga część witryny ma niewłaściwe. W takim przypadku nie ma sensu zmieniać ustawień serwera WWW - ponieważ i tak część strony będzie miała nieprawidłowe kodowanie.

Musisz zacząć od zdefiniowania kodowania swoich tabel. Można oglądać w phpMyAdmin:

Zwróć uwagę na kolumnę „ Porównanie„, Record” utf8_unicode_ci„Oznacza, że \u200b\u200bużywane jest kodowanie UTF-8.

Możesz połączyć się z MySQL DBMS i sprawdzić kodowanie tabeli bez phpMyAdmin. Dla tego:

Mysql -u root -p

Jeśli zapomniałeś nazwy bazy danych, uruchom polecenie:

POKAŻ BAZY DANYCH;

Załóżmy, że chcę przyjrzeć się kodowaniu tabel w bazie danych information_schema

UŻYJ information_schema;

Jeśli zapomniałeś nazwy tabel, uruchom:

POKAŻ PEŁNE KOLUMNY Z nazwa_tabeli;

Na przykład:

POKAŻ PEŁNE KOLUMNY Z GLOBAL_STATUS;

Zobaczysz coś takiego:

Zobacz kolumnę Porównanie... W moim przypadku tam utf8_general_ci, to jest jak utf8_unicode_ci, kodowanie UTF-8... Przy okazji, jeśli nie wiesz, jaka jest różnica między kodowaniem utf8_general_ci, utf8_unicode_ci, utf8mb4_general_ci, utf8mb4_unicode_ci, a także jakie kodowanie wybrać dla bazy danych MySQL, a następnie spójrz.

Teraz, gdy nauczyliśmy się kodowania (w moim przypadku jest to UTF-8), za każdym razem, gdy łączymy się z MySQL DBMS, musimy wykonywać sekwencyjne zapytania:

SET NAMES UTF8 SET CHARACTER SET UTF8 SET character_set_client \u003d UTF8 SET character_set_connection \u003d UTF8 SET character_set_results \u003d UTF8

W PHP można to zrobić tak:

$ this-\u003e mysqli \u003d new mysqli ($ server, $ username, $ password, $ basename); if ($ this-\u003e mysqli-\u003e connect_error) ($ this-\u003e errorHandler_c-\u003e logError (1, "Connect Error (". $ this-\u003e mysqli-\u003e connect_errno. ")". $ this-\u003e mysqli-\u003e connect_error , $ _SERVER ["REQUEST_URI"]);) $ this-\u003e mysqli-\u003e query ("SET NAMES UTF8"); $ this-\u003e mysqli-\u003e query ("SET CHARACTER SET UTF8"); $ this-\u003e mysqli-\u003e query ("SET character_set_client \u003d UTF8"); $ this-\u003e mysqli-\u003e query ("SET character_set_connection \u003d UTF8"); $ this-\u003e mysqli-\u003e query ("SET character_set_results \u003d UTF8");

zauważ, że UTF8musisz zastąpić jakimkolwiek kodowaniem używanym dla twoich tabel.

Zmień kodowanie plików

Jeśli zdecydujesz się pójść w drugą stronę i zmienić kodowanie plików zamiast instalować nowe kodowanie, zobacz artykuł „”. Opisuje, jak sprawdzić aktualne kodowanie plików i jak konwertować pliki do dowolnego kodowania (nie tylko UTF-8).

Jak dowiedzieć się, jakie kodowanie wysyła serwer

Jeśli chcesz wiedzieć, jakie ustawienia kodowania ma serwer WWW (jakie kodowanie jest przesyłane w nagłówkach), użyj następującego polecenia:

Curl URL -s -o / dev / null -D / dev / stdout | grep -E "zestaw znaków"

Zamiast Urlwprowadź prawdziwy adres sprawdzanej witryny. Jeśli witryna korzysta z protokołu HTTPS, podaj na przykład adres witryny wraz z protokołem

Curl https://softocracy.ru -s -o / dev / null -D / dev / stdout | grep -E "zestaw znaków"

Jakie kodowanie wybrać dla witryny internetowej

Ogromna kolekcja najlepszych filmów porno jest gotowa otworzyć przed Tobą drzwi do fantastycznego świata przyjemności. Pornhub.com zasłynął z niezrównanej jakości oferowanych usług, dlatego wybierając naszą stronę upewnij się, że wszystko jest przemyślane w najdrobniejszych szczegółach. Mnóstwo różnych kategorii zachwyci każdego odwiedzającego, niezależnie od tego, czy jest to doświadczony widz, czy początkujący. Prezentowany materiał został dobrany ze szczególną starannością, dzięki czemu każdy fan pornhub.com będzie mógł zanurzyć się w niezapomnianej erotycznej atmosferze. Na wyciągnięcie ręki zostaniesz powitany przez gwiazdy porno gotowe do zaoferowania swoich najlepszych filmów. W nich profesjonaliści ich ciał demonstrują gorący seks we wszystkich jego przejawach. Fani ekscytującego domowego porno również nie zostaną pominięci. Pornhub przedstawia ogromną kolekcję scen przedstawiających urocze dziewczyny, które są gotowe zadziwiać swoimi utalentowanymi zdolnościami seksualnymi. Nie mają celu kręcenia profesjonalnych filmów, ale ich umiejętności mogą z łatwością konkurować z gwiazdą porno. Miłośnicy egzotyki będą mile zaskoczeni ilością nagrań z udziałem Mulatów, Azjatek i Murzynów. Wystarczy pomyśleć o czymś, jak posłuszne kapłanki miłości natychmiast spełnią Twoje ukochane fantazje w najlepszy możliwy sposób. Bądź wierny sobie, ale nie zapomnij o relaksie, ufając doświadczonym nimfom, które dużo wiedzą o dobrym rżnięciu i spełnianiu męskich kaprysów. Czasami sami nie możemy zrozumieć, czego potrzebujemy, ale korzyść z pornhub jest miejscem, w którym takie pytania po prostu się nie pojawiają.

Zapraszamy do wypoczynku w otoczeniu, które dziś najlepiej pasuje do Twojego nastroju. Być może teraz zadowoli Cię szalony seks grupowy, a jutro Twoje pragnienia będą radykalnie inne i wybór padnie na romantyczny seks z uroczą modelką. Wszystko to i wiele więcej można znaleźć tutaj, ponieważ pornhub pozostawia wybór Tobie. Nie musisz dostosowywać swoich zachcianek do możliwości serwisu, ponieważ mamy wszystko, czego potrzebuje koneser dobrego porno. Jako przewodnicy po świecie satysfakcji seksualnej poznaliśmy wszystkie niuanse świadczenia wysokiej jakości usług, dlatego jeśli szukasz idealnego miejsca na zabawę, to warto zaznaczyć, że trafiłeś we właściwe miejsce. Jeśli masz określone cele, nie krępuj się je realizować, będąc na stronach swoich ulubionych filmów porno. Jeśli przyszedłeś po coś nowego, proponujemy zapoznać się ze świeżo upieczonym materiałem.

Każdemu widzowi gwarantujemy godną satysfakcję i wspaniałą rozrywkę. Pornhub otwiera swoje podwoje, aby udostępniać tylko najlepsze filmy. Nie musisz już zadawać sobie bezsensownych poszukiwań, ponieważ wszystko zostało już dla Ciebie zrobione. Gdzie, jeśli nie tutaj, możesz rozpieszczać się różnorodnością wątków i doskonałą jakością realizacji swoich ukochanych pragnień. Oferujemy nie jednodniową wycieczkę, ale możliwość nieograniczonej podróży do krainy pożądania i rozpusty. Tutaj każdy gość czeka na wszystko, czego potrzebujesz, a nawet trochę więcej.

DZWON

Są tacy, którzy czytają tę wiadomość przed tobą.
Zapisz się, aby otrzymywać najnowsze artykuły.
E-mail
Imię
Nazwisko
Jak chcesz przeczytać The Bell
Bez spamu