• Wenn du hier im Forum ein neues Thema erstellst, sind schon Punkte aufgeführt die du ausfüllen musst. Das dient im Allgemeinen dazu die notwendigen Informationen direkt mit der Frage bereitzustellen.
    Da in letzter Zeit immer wieder gerne das Formular gelöscht wurde und erst nach 3 Seiten Nachfragen die benötigten Infos für eine Hilfe kommen, werde ich nun jede Fragestellung die nicht einmal annähernd das Formular benutzt, sofort in den Sondermüll schicken.
    Füllt einfach die abgefragte Daten aus und alle können euch viel schneller helfen.

XF2.1 emoji

Paridus

Bekanntes Mitglied
Lizenzinhaber
Registriert
23. Okt. 2014
Beiträge
301
Punkte
58
XF Version
  1. 1.5.1
  2. 1.5.6
Kann ich auch per phpMyAdmin die Datenbank ändern? Wenn ja, Wie?
Running the conversion script
Log in to your server using SSH, or open a command prompt over Remote Desktop if you are using a Windows server.

When you have a command line available, change your current working directory to your XenForo directory. You will know that you are in the correct directory, as it will contain a script called cmd.php.

You can now run the following command:

php cmd.php xf:convert-utf8mb4
 
Ich denke nicht, da man das Skript nicht über PMA serverseitig ausführen kann. Vermutlich hat das schon seinen Grund, warum man über die Shell gehen soll. Aber das wäre eine Frage für Chris D oder Brogan.
 
So ich habe es nochmal versucht und bekomme nun eine Fehlermeldung:

PHP Fatal error: Call to undefined function mysqli_init() in /volume1/web/shm_x2/src/XF/Db/Mysqli/Adapter.php on line 152

Fatal error: Call to undefined function mysqli_init() in /volume1/web/shm_x2/src/XF/Db/Mysqli/Adapter.php on line 152


Wer kann helfen?
 
Und was steht in der Zeile 152?
 
Also einer der Entwickler scheint zumindest davon abzuraten, siehe set db to utf8mb4 without SSH [Deleted]

Ich habe gerade mal das Skript ausgeführt nach einem Upgrade von 1.5 auf 2.1. Hat soweit ich dass erkennen kann einwandfrei funktioniert. Es wurden alle Tabellen, etc. von utf8_general_ci auf utf8mb4_general_ci umgestellt.

Gibt es irgendwelche eindeutigen Anzeichen dafür, dass es mit der Umstellung doch Probleme gegeben hat bzw. gibt?

Wie verhält es sich jetzt mit Standard-Kollation, die man unter "Phpmyadmin" - > "Operationen" einstellen kann? Muss bzw. sollte man diese auch umstellen auf utf8mb4_general_ci?

Torsten
 
Wer keinen Shell Zugriff hat, kann es auch mit einer PHP Datei mit folgendem Inhalt ausführen:


PHP:
<?php
$output = shell_exec('php cmd.php xf:convert-utf8mb4 2>&1');
echo "<pre>$output</pre>";
?>

Hat bei mir einwandfrei funktioniert. Könnte mir allerdings vorstellen, dass es bei sehr großen DB Probleme mit dem Browser-TimeOut gibt.

Hat jemand eine Idee, wie man die bisher bestehenden Smilies einfach in Emojies konvertieren kann?

Torsten
 
Hat jemand eine Idee, wie man die bisher bestehenden Smilies einfach in Emojies konvertieren kann?
Ohne mich mit der Thematik genau beschäftigt zu haben: Die Smilies in XF 1 werden ja nicht als Graphik in der Datenbank gespeichert, sondern es wird z.B. :smiliecode: gespeichert und zur Laufzeit der Code für die Graphik eingebunden. Wenn du jetzt beim jeweiligen neuen Emojie :smiliecode: als Alias setzt, wird dieser automatisch verwendet.

Alternativ kannst du auch in Mysql ein Text-Replace durchführen, z.B.: :smiliecode: mit :emojiecode: ersetzen.
 
Ohne mich mit der Thematik genau beschäftigt zu haben: Die Smilies in XF 1 werden ja nicht als Graphik in der Datenbank gespeichert, sondern es wird z.B. :smiliecode: gespeichert und zur Laufzeit der Code für die Graphik eingebunden. Wenn du jetzt beim jeweiligen neuen Emojie :smiliecode: als Alias setzt, wird dieser automatisch verwendet.

Alternativ kannst du auch in Mysql ein Text-Replace durchführen, z.B.: :smiliecode: mit :emojiecode: ersetzen.

Vielen Dank für die Hinweise. Hast du zufällig eine Idee, wo man genau diese Aliase setzen kann?

Torsten
 
Wie wäre es mit "Content -> Smilies"?
 
Dann versteh ich nicht was du genau ersetzen willst.
 
das wird nicht ohne einfaches möglich sein, bei den Emojis handelt es sich um Schriftzeichen und nicht um ersetzen Text wie in der alten Version.
Du müsstest alle Beiträge durchgehen und dies dann ersetzen, was ich für nicht empfehlenswert halte. Du kannst höchstens folgendes ausschalten, dann werden sie mit der Zeit in der Versenkung verschwinden.
upload_2019-5-15_17-9-52.png
 
aja, stimmt: nur "smilies" werden als Smilie-Code gespeichert, nicht die "Emojis" :bookworm:

Man könnte vielleicht die "Words to censor" Funktion (zu finden unter admin.php?options/groups/censoringOptions/ ) missbrauchen: Einfach die Smilie-Codes mit den passenden Emojis ersetzen. :)

Edit: Wobei das nur funktionieren dürfte., wenn vor und nach Smilie Code ein Leerzeichen gesetzt ist..
 
Zuletzt bearbeitet:
das wird nicht ohne einfaches möglich sein, bei den Emojis handelt es sich um Schriftzeichen und nicht um ersetzen Text wie in der alten Version.
Du müsstest alle Beiträge durchgehen und dies dann ersetzen, was ich für nicht empfehlenswert halte. Du kannst höchstens folgendes ausschalten, dann werden sie mit der Zeit in der Versenkung verschwinden.
Anhang anzeigen 8751

Gute Idee. Ganz vielen Dank für den Hinweis.

aja, stimmt: nur "smilies" werden als Smilie-Code gespeichert, nicht die "Emojis" :bookworm:

Man könnte vielleicht die "Words to censor" Funktion (zu finden unter admin.php?options/groups/censoringOptions/ ) missbrauchen: Einfach die Smilie-Codes mit den passenden Emojis ersetzen. :)

Edit: Wobei das nur funktionieren dürfte., wenn vor und nach Smilie Code ein Leerzeichen gesetzt ist..

Wäre eine Möglichkeit ja. Danke für den Hinweis. Werde ich mal ausprobieren.

Torsten
 
Zurück
Oben