如何使用法语口音对数组进行 json_encode?

How to json_encode array with french accents?(如何使用法语口音对数组进行 json_encode?)
本文介绍了如何使用法语口音对数组进行 json_encode?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个带有法国口音的数组项([WIPDescription] => Recette Soupe à lOignon Sans Boeuf US).正在从数据库 (mysql) 中正确提取数据.

I have an array item with a French accent ([WIPDescription] => Recette Soupe à lOignon Sans Boeuf US). The data is being properly pulled from the database (mysql).

但是,当我尝试使用 json_encode 中内置的 php 将其编码为 json 时,它会生成一个 null json 值(OS X 服务器:php 5.3.4,启用 json 1.2.1).

However, when I try to encode this as json using the php built in json_encode it produces a null json value (OS X server: php 5.3.4, json 1.2.1 enabled).

在 Linux 服务器中,描述在第一个重音字符之后被截断.

In a Linux server, the description is cut off after the first accent character.

我尝试了所有 json_encode 选项都没有成功.有什么建议吗?

I tried all the json_encode options with no success. Any suggestions?

谢谢.

推荐答案

json_encode 只想要utf-8.根据您的字符集,您可以使用 iconvutf8_encode before 在你的变量上调用 json_encode .可能使用 array_walk_recursive.

json_encode only wants utf-8. Depending on your character set, you can use iconv or utf8_encode before calling json_encode on your variable. Probably with array_walk_recursive.

根据要求,一种未完成的改变数组的方法,假设(1)它不包含对象,(2)数组键在ascii/下界,所以可以保持原样:

As requested, an unfinished way to alter an array, with the assumptions that (1) it doesn't contain objects, and (2) the array keys are in ascii / lower bounds, so can be left as is:

$current_charset = 'ISO-8859-15';//or what it is now
array_walk_recursive($array,function(&$value) use ($current_charset){
     $value = iconv('UTF-8//TRANSLIT',$current_charset,$value);

});

这篇关于如何使用法语口音对数组进行 json_encode?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Convert JSON integers and floats to strings(将JSON整数和浮点数转换为字符串)
in php how do I use preg replace to turn a url into a tinyurl(在php中,如何使用preg替换将URL转换为TinyURL)
all day appointment for ics calendar file wont work(ICS日历文件的全天约会不起作用)
trim function is giving unexpected values php(Trim函数提供了意外的值php)
Basic PDO connection to MySQL(到MySQL的基本PDO连接)
PHP number_format returns 1.00(Php number_Format返回1.00)