如何在Javascript中使用PHP中的Umlauts

如何在Javascript中使用PHP中的Umlauts,php,javascript,character-encoding,diacritics,Php,Javascript,Character Encoding,Diacritics,我有一个MySQL数据库,其中包含德语Umlauts(ä、ü、ö等)。数据库字段都是拉丁1_german1_c编码的(如果有必要的话) 从该数据库中,我创建了一个json对象,用于javascript。但是,包含其中一个UMLAUT的每个值都会从get go via设置为null: var json = <?php echo json_encode($results);?>; 我是否需要以不同的方式对文档进行编码?我是否需要遍历$results数组并以某种方式对每个值进行编码?或者

我有一个MySQL数据库,其中包含德语Umlauts(ä、ü、ö等)。数据库字段都是拉丁1_german1_c编码的(如果有必要的话)

从该数据库中,我创建了一个json对象,用于javascript。但是,包含其中一个UMLAUT的每个值都会从get go via设置为null:

var json = <?php echo json_encode($results);?>;
我是否需要以不同的方式对文档进行编码?我是否需要遍历
$results
数组并以某种方式对每个值进行编码?或者完全不同的东西?

希望字符串是
utf-8
编码的,而不是
latin-1
编码的-这就是值重置为
NULL
(未设置)的原因

在将字符串与
json\u encode
一起使用之前,需要将字符串从
latin-1
重新编码为
utf-8
。查找或使用
mb_字符串
库,两者都可以:

$utf8 = iconv($in = 'LATIN-1', $out = 'UTF-8', $latin1);

从浏览器的视图源代码生成的JS代码是什么样子的?如果您对交付到浏览器的内容执行“视图源代码”,您会在哪里看到umlaut?这里的简短版本是,您需要确保告诉浏览器您正在使用的编码(UTF-8、Windows-1252等)与PHP的输出相匹配。如果您还没有读过,那么值得一读:这不仅仅与页面上的JavaScript有关;它也与文本有关。哈克雷,非常感谢你的回复。我尝试过这个,但它似乎没有在php级别上使用$结果[0][“name”]是我从数据库中获取的字符串,其中包含Umlaut。所以我尝试了以下方法:echo$weirdstring=$results[0][“name”]。“\n”;打印(json编码(iconv(“拉丁语-1”、“UTF-8//translat”、$weirdstring));这输出:Mörseburg Baumhauer false抱歉,我好像做错了什么?谢谢你的帮助!!那看起来很有效,不是吗?(你可以去掉
//translatit
,那是假的)。不要忘记对数组中的每个
latin-1
字符串进行编码,然后对数组进行
json\u编码,而不仅仅是单个字符串。我将这些功能链接到手册,以便您可以了解更多有关它们的信息。
$utf8 = iconv($in = 'LATIN-1', $out = 'UTF-8', $latin1);