Ho un database che memorizza i nomi di videogiochi con caratteri Unicode ma non riesco a capire come eseguire correttamente l'escape di questi caratteri Unicode quando li stampo su una risposta HTML.Stampa caratteri Unicode PHP
Per esempio, quando stampo tutti i giochi con il nome come Uncharted, ottengo questo:
Uncharted: Drake's Fortuneâ„¢
Uncharted 2: Among Thievesâ„¢
Uncharted 3: Drake's Deceptionâ„¢
ma dovrebbe mostrare questo:
Uncharted: Drake's Fortune™
Uncharted 2: Among Thieves™
Uncharted 3: Drake's Deception™
ho corse una funzione rapida fuga Javascript per vedere quale carattere Unicode è il ™
e ha rilevato che è \u2122
.
Non riesco a sfuggire completamente a tutti i caratteri nella stringa se riesco a visualizzare correttamente il carattere ™
. La mia ipotesi è quello di trovare in qualche modo la rappresentazione esadecimale di ogni carattere della stringa e hanno PHP rendere i caratteri Unicode come questo:
print "™";
per favore mi guida attraverso l'approccio migliore per Unicode sfuggire una stringa per essere HTML amichevole. Ho fatto qualcosa di simile per JavaScript qualche tempo fa, ma JavaScript ha una funzione integrata per escape e unescape.
Non sono a conoscenza di alcuna funzione PHP di funzionalità simile. Ho letto della funzione ord, ma restituisce semplicemente il codice carattere ASCII per un dato carattere, da cui la visualizzazione errata dello ™
o dello ™
. Mi piacerebbe che questa funzione fosse abbastanza versatile da applicarsi a qualsiasi stringa contenente caratteri Unicode validi.