2017-08-06 3 views
0

A partir d'autres fenêtres, je suis arrivé ce texte Æ÷¸µÄ«µå et l'équivalent de ce texte est 포링카드windows-1252 aux applications EUC-kr encodage

Vous pouvez réellement générer ici https://r12a.github.io/apps/encodings/ trouver l'image ci-joint cette description. En outre, j'ai essayé ceci dans mon code, copiant la même logique sur cet outil.

$windows = mb_convert_encoding('Æ÷¸µÄ«µå', 'windows-1252', 'utf-8'); 
$euc_kr = mb_convert_encoding($windows, 'euc-kr'); 

echo $euc_kr;exit; 

Mais je reçois ce genre de sortie:

???????

J'ai donc essayé de comparer echo ($euc_kr === '포링카드') ? 'Yes' : 'No'; mais toujours retourner No

Reference of the tool

+0

Je suppose que votre serveur web indique au navigateur d'afficher les données en UTF-8 pendant que vous produisez un encodage différent. Avez-vous essayé d'écho ($ windows); ? Aussi, quel encodage est le fichier PHP écrit? – PhilMasterG

+0

@PhilippGrassl, en fait je meurs dump '$ windows' et je retourne la même sortie, puisque j'ai un enregistrement de base de données contenant tous les fichiers unicode et coréen, c'est pourquoi je prévois d'extraire l'unicode pour que je puisse facilement trouver le fichier et stocker/mettre à jour dans la base de données. J'ai effectivement essayé de modifier 'header()' juste au cas, mais toujours aucune chance. – daison12006013

+0

Puisque vous pouvez faire un 'echo ($ euc_kr === '포링 카드')? «Oui»: «Non»: «Je suppose que votre script est écrit en Unicode. Pourriez-vous ouvrir ce script dans un éditeur adapté comme par exemple. Notepad ++ et convertir le fichier en encodage ASCII? Il se pourrait que le "Æ ÷ ¸μÄ" μå "soit codé en UTF-8 et non Windows-1252 dans le fichier. – PhilMasterG

Répondre

1

En fait, je pense que c'est un problème différent. Vous voulez interpréter les caractères comme coréen et les écrire comme UTF-8 dans la base de données. faisant un

mb_convert_encoding('Æ÷¸µÄ«µå', 'utf-8, 'euc-kr'); 

devrait être suffisant, étant donné que « Æ ÷ pA« pA » est pas UTF-8 codé. S'il est codé en UTF-8, vous devrez faire un

mb_convert_encoding('Æ÷¸µÄ«µå', 'windows-1252'); 

avant l'autre appel.

+0

Merci mon pote, ça marche bien! – daison12006013