简体   繁体   中英

PHP and Unicode or UTF-8?

My PHP application outputs JSON where special characters are encoded, f.ex. the string "Brøndum" is represented as "Br\øndum".

Can you tell me which encoding this is, as well as how I get back from "Br\øndum" to "Brøndum".

I have tried utf8_encode/decode but they don't work as expected.

Thanks!

That's standard JSON unicode escaping.

You get back to the actual character by using a JSON parser. json_decode in the case of PHP.

You can tell PHP not to escape Unicode characters in the first place with the JSON_UNESCAPED_UNICODE flag.

json_encode("Brøndum", JSON_UNESCAPED_UNICODE)

mb_detect_encoding is your function . You just pass it the string and it detects the codification. You can also send it an array with the possibilities (as a regular string like "hello" could potentially be encoded in different codifications.

echo mb_detect_encoding("Br\u00f8ndum");

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM