为Wiktionary API调用设置编码和Content-Type

时间:2014-02-01 03:08:51

标签: php character-encoding mediawiki mediawiki-api

我已经设置了这个维基词典API调用,但我无法弄清楚数据的编码是什么。我知道容器是json,但我无法弄清楚内部字符串的值。

http://ru.wiktionary.org/w/api.php?format=json&action=parse&prop=wikitext&page=%D0%BE%D0%B1%D1%80%D0%B0%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F

PHP代码:

$str = file_get_contents('http://ru.wiktionary.org/w/api.php?format=json&action=parse&prop=wikitext&page=%D0%BE%D0%B1%D1%80%D0%B0%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F');
$str = json_decode($str,true);

header('Content-type: UTF-8');
$a = $str['parse']['wikitext']['*'];
echo $a;

我在他们的帮助文件中找不到任何内容。它应该是俄语字母ex。

= {{-ru-}} =

=== Морфологические и синтаксические свойства ===
{{гл ru 2a-сяСВ
|основа=обра́дова
|основа1=обра́ду
|слоги={{по-слогам|об|ра́|до|вать|ся}}
|соотв=радоваться
}}

{{морфо|об|рад|ова|ть|ся}}

1 个答案:

答案 0 :(得分:1)

使用

header('Content-Type: text/html;charset=utf-8');

代替你的

header('Content-type: UTF-8');

代码..

<?php
header('Content-Type: text/html;charset=utf-8');
$str = file_get_contents('http://ru.wiktionary.org/w/api.php?format=json&action=parse&prop=wikitext&page=%D0%BE%D0%B1%D1%80%D0%B0%D0%B4%D0%BE%D0%B2%D0%B0%D1%82%D1%8C%D1%81%D1%8F');
$str = json_decode($str,true);
$a = $str['parse']['wikitext']['*'];
echo $a;

<强> OUTPUT:

  

= {{-ru-}} = ===Морфологическиеисинтаксическиесвойства=== {{глru2a-сяСВ|основа=обрадова|основа1=обраду   |слоги= {{по-слогам|об|ра|до|вать|ся}} |соотв=радоваться}}   {{морфо|об|рад|ова|ть|ся}} ===Произношение=== {{transcription |}}   {{медиа| Ru-обрадоваться.ogg}} ===Семантическиесвойства=== ====   Значение====#[[испытать]],[[почувствовать]] [[радость]]   {{пример|}} ## ====Синонимы==== ### ====Антонимы====#   [[огорчиться]],[[опечалиться]],[[расстроиться]]; [[загрустить]] ##   ====Гиперонимы==== ### ====Гипонимы====#[[возликовать]],[[возрадоваться]] ## ===Родственныеслова=== {{родств-блок   |имена-собственные= |существительные= [[радость]]   |прилагательные= [[обрадованный]]; [[рад]]; [[радостный]]   |глаголы= [[обрадовать]]; [[радовать]],[[радоваться]],   [[[[[[[[[[[[[[[[[[[[[   |наречия= [[обрадованно]],[[радостно]]}} ===Этимология===   {{-ся| [[обрадовать]]}}из[[об-]] + [[радовать]]([[рад]]),далееот   {{этимология:рад|да}} ===Фразеологизмыиустойчивыесочетания=== ===   Перевод=== {{перев-блок| | abq = | ab = | av = | ave = | agh = | aja = | ady = | az =   | ay = | ain = | ain.kana = | ain.lat = | sq = | als = | ale = | alt = | en = [[be   高兴]]; [[要开心]]; [[rejoice]] | ar = | an = | arc.jud = | arc.syr = | arn =   | hy = | asm = | ast = | af = | bar = | bm = | eu = | ba = | be = [[узрадавацца]],   [[абрадавацца]],[[усцешыцца]] | bn = | bg = | bs = | br = | bua = | cy = | wa =   | hu = | vep = | hsb = | vot = | vo = | wo = | vro = | vi = | gag = | haw = | ht = | gl = | ze =   | kl = | el = | ka = | gn = | gu = | gd = | dar = | prs = | da = | dv = | ang = | grc = | sgs =   | zza = | zu = | he = | yi = | io = | id = | ia = | iu = | ik = | ga = | is = | es = | it =   | kbd = | kk = | xal = | kn = | kaa = | krc = | krl = | ca = | csb = | qu = | ky = | zh =   | zh-tw = | zh-cn = | kom = | koi = | kok = | kw = | ko = | co = | xh = | crh = | ku = | km =   | lad = | lo = | la = | lez = | lv = | li = | ln = | lt = | lb = | mk = | mg = | ms = | ml =   | mt = | mi = | chm = | mdf = | mo = | mn = | gv = | nv = | gld = | nah = | na = | nio = | nap =   | de = | yrk = | nl = | dsb = | no = | oc = | os = | pa = | pap = | fa = | pl = | pt = | ps =   | pms = | rap = | rm = | ro = | sjd = | sa = | sc = | se = | sr = | sr-c = | sr-l = | scn =   | sk = | sl = | slovio-c = | slovio-l = | so = | chu.cyr = | chu.glag = | sw = | tab =   | tl = | tg = | ty = | th = | ta = | tt = | tt.cyr = | tt.lat = | te = | art = | tpi = | kim =   | tn = | tyv = | tr = | tk = | udm = | ug = | uz = | uk = [[зрадіти]](кому-чому,з   чого),[[[[[[[[[[[[[[[[[[[[   [[потішитися]],[[утішитися]],[[втішитися]](чим)| ur = | fo = | fi = | fr =   | fy = | fur = | kjh = | ha = | hi = | hr = | rom = | ce = | cs = | cv = | sv = | cjs = | sco =   | ewe = | myv = | eo = | et = | jv = | sah = | ja =}} ===Библиография=== *   {{unfinished | m = | p = 1 | s = | e =}} [[Категория:Глаголыэмоций]]   [[Категория:Радость]] {{длинаслова| 12}} [[fr:обрадоваться]]   [[VI:обрадоваться]]