Maison > Questions et réponses > le corps du texte
J'ai des questions sur l'utilisation correcte
$mysqli->set_charset()
。我已经很多年没有在我的网站上使用此功能了。现在我正在重写我的连接脚本,并希望正确应用 $mysqli->set_charset()
. Actuellement, le site est toujours basé sur "latin1" (mais je vais bientôt passer à UTF-8 (utf8mb4).)
MySQLi sur mon serveur (que je gère moi-même) utilise une configuration latin1 depuis des années. Je pensais que ça ne ferait pas de mal d'ajouter ça maintenant $mysqli->set_charset("latin1")
?
Si MySQLi est configuré par défaut en utf8mb4, y aura-t-il des caractères codés étranges sur mon site Web sans la fonction $mysqli->set_charset()
?
Je souhaite confirmer mon hypothèse.
P粉6749994202024-01-11 15:16:05
mysqli::set_charset()
Définit le jeu de caractères de la connexion, c'est-à-dire "toutes les chaînes que j'envoie via cette connexion seront codées en utilisant this > et je veux que l'encodage revienne". Vous devez faire correspondre cela avec l'encodage que vous utilisez du côté PHP.
Autrement dit, même si le paramètre actuel est incorrect, si vous modifiez la valeur actuelle, cela peut entraîner une corruption des données. En effet, dans certains cas, les données corrompues lors du transfert de votre base de données vers votre base de données seront corrompues de la même manière tant que les paramètres sont cohérents.
Avant d'apporter des modifications, vous devez déterminer quel encodage est actuellement utilisé et si les données de la base de données sont corrompues. À partir de là, vous pouvez tracer un chemin pour garantir que tous les encodages correspondent, que vos données sont codées et traitées correctement à toutes les étapes et que les données existantes sont réparées.
Comme toujours, veuillez consulter le message principal : UTF-8 partout一个>
Pensées supplémentaires :
latin1
Référence
李>