【发布时间】:2011-11-26 09:35:57
【问题描述】:
我有一个包含德语变音符号(ä、ü、ö 等)的 MySQL 数据库。数据库字段都是 latin1_german1_c 编码的(如果重要的话)。
从该数据库中,我创建了一个用于 javascript 的 json 对象。但是,包含其中一个元音变音符号的每个值都会从一开始就设置为 null:
var json = <?php echo json_encode($results);?>;
然后:
>>> console.log(json[0].name)
null
我是否需要以不同方式对文档进行编码?我是否需要遍历 $results 数组并以某种方式对每个值进行编码?还是完全不同的东西?
【问题讨论】:
-
从浏览器的视图源中生成的 JS 代码是什么样的?
-
如果您对传递到浏览器的内容进行“查看源代码”,您会看到您期望变音符号的位置是什么?这里的简短版本是您需要确保您告诉浏览器您正在使用的编码(UTF-8、Windows-1252 等)与 PHP 输出的内容相匹配。如果您还没有阅读,值得一读:The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) 这不仅与页面上的 JavaScript 相关;它也与文本有关。
标签: php javascript character-encoding diacritics