MySQL veritabanında saklanır aksanlı karakterler

3 Cevap php

Potansiyel aksanlı karakterler var - - Ben Fransızca metni depolayan bir webapp var bir MySQL veritabanı. Veri PHP doğrudan alındığında, aksanlı karakterler gibbirish olur. Örneğin: qui r�fl�te la liste.

Dolayısıyla, ben htmlentities() kullanın (veya htmlspecialchars()) varlıkları html dize dönüştürmek için, ve tüm iyi. Ben hem aksanlı karakterler ve HTML öğelerini içerir çıkış verilerine gelip Ancak, işler daha karışıktır. Örneğin, <strong> &lt;strong&gt; dönüştürülür ve bu nedenle tarayıcı tarafından anlaşılmış değildir.

Nasıl birden aksanlı karakterler doğru görüntülenir alabilirsiniz ve benim HTML doğru çözümlenir?

Teşekkür ederiz!

3 Cevap

Belki utf8_encode() için bir göz atın ve utf8_decode() olabilir

Siz veritabanında veri depolamak için UTF-8 kodlaması kullanmak gerekir - beklenen ve hiçbir htmlentities() gerekli olacak gibi sonra her şey çalışmalıdır.

Veritabanı tabloları kodlama ve harmanlama ve istemci ve sunucu tarafında hem de bağlantı, - bütün boy utf-8 olduğundan emin olun. Yapılacak her şey utf-8 bile işe yarayabilir, ancak yedekleme ve ne zaman korkunç başarısız olabilir geri - Ben yönüyle utf-8 tavsiye yüzden.

Sen onları desteklemek için utf8_general_ci için aksanlı karakteri içeren bir veritabanı alanları harmanlama ayarlayabilirsiniz.

Sonunda siz de veritabanı harmanlama ayarlayabilirsiniz, böylece tüm alanlar varsayılan olarak ayarlanır.