PDA

Просмотр полной версии : [Помогите!] Utf8ToAnsi в memo (При post запросе)


Fliva59
13.07.2011, 17:38
Собственно нужно то что в memo1 перевести в Utf8. Я выполняю post запрос на сервер (код ниже) и я получаю информацию но там какие то кракозябры. Побывал Utf8ToAnsi не помогает =(

procedure TForm1.Button3Click(Sender: TObject);
var
p,i:Tstrings;
name:string;
begin
id[Ссылки могут видеть только зарегистрированные и активированные пользователи] 'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.2.13)';
id[Ссылки могут видеть только зарегистрированные и активированные пользователи]'application/x-[Ссылки могут видеть только зарегистрированные и активированные пользователи]';

p:=Tstringlist.Create;
i:=Tstringlist.Create;

try
i.Add('method=getInfo');
i.Add('key=******************');
i.Add('user=********');
i.Text:=Id[Ссылки могут видеть только зарегистрированные и активированные пользователи]('[Ссылки могут видеть только зарегистрированные и активированные пользователи]', i);
memo1.Lines.Add(i.Text);

name := parse('<name>', '</name>', Memo1.Text);

Label19.Caption:=name; <<---вот это надо в UFT8

finally
p.Free;
memo1.Clear;
end;
end;

blad56
13.07.2011, 18:25
UTF8Decode(Label19.Caption:=name). Как-то так:)

Mebius
13.07.2011, 18:40
UTF8Decode(Label19.Caption:=name). Как-то так:)

Нет, не так!

Label19.Caption:=UTF8Decode(name);

Fliva59, твой код покажет не крякозябры, а пустой мемо.
параметры Request лучше задавать не в коде, а в компоненте.

а если нужен только лейбл изменить, то мемо вообще не нужен.
стринглиста вполне достаточно.

Fliva59
13.07.2011, 19:00
Label19.Caption:=UTF8Decode(name); не помогает! Я уж что только не перепробывал! Мой код в мемо показывает:

<?xml version="1.0" encoding="UTF-8"?>
<data>
<user>
<name>%D0%91%D1%80%D0%B8%D1%82%D0%B2%D0%B0</name>
<helpevents>1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1, 0,0,0,1,1,1</helpevents>
<money>2665</money>
<rating>115575</rating>
<diamond>6</diamond>
<sugar>54</sugar>
<toilet_paper>12</toilet_paper>
<booster_price>15</booster_price>
<already_spin>0</already_spin>
<currentBackground>4</currentBackground>
<vote_points_count>20</vote_points_count>
<energy>48</energy>
<energy_spent>4152</energy_spent>
<energy_ttu>162</energy_ttu>
<energyForVote>0</energyForVote>
<maxEnergyForVote>300</maxEnergyForVote>
<friends_invited>0</friends_invited>
<basePopularity>2837</basePopularity>
<duel_price>50</duel_price>
<duel_reward>7</duel_reward>
</user>

<clother>
<id>1</id>

<item>
<id>291</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>301</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>433</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>73</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>296</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>299</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>107</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>222</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>298</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>303</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>92</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>349</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>288</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>244</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>373</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>380</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>289</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>399</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>237</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>295</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>293</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>297</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>292</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>413</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>302</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>300</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>658</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>228</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>290</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>419</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>536</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>262</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>691</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>394</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>294</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
<item>
<id>169</id>
<!-- no data in 'depth' -->
<fillings>
<!-- no data in 'fillings' -->
</fillings>

</item>
</clother>
<availableItems>
<id>1</id>
<id>2</id>
<id>3</id>
<id>4</id>
<id>5</id>
<id>6</id>
<id>8</id>
<id>9</id>
<id>11</id>
<id>12</id>
<id>13</id>
<id>14</id>
<id>15</id>
<id>16</id>
<id>20</id>
<id>21</id>
<id>22</id>
<id>23</id>
<id>24</id>
<id>25</id>
<id>26</id>
<id>27</id>
<id>28</id>
<id>29</id>
<id>30</id>
<id>31</id>
<id>32</id>
<id>34</id>
<id>35</id>
<id>37</id>
<id>38</id>
<id>39</id>
<id>42</id>
<id>43</id>
<id>44</id>
<id>45</id>
<id>46</id>
<id>47</id>
<id>48</id>
<id>50</id>
<id>53</id>
<id>54</id>
<id>55</id>
<id>58</id>
<id>59</id>
<id>62</id>
<id>64</id>
<id>67</id>
<id>70</id>
<id>73</id>
<id>74</id>
<id>82</id>
<id>83</id>
<id>90</id>
<id>92</id>
<id>96</id>
<id>101</id>
<id>102</id>
<id>103</id>
<id>107</id>
<id>111</id>
<id>113</id>
<id>115</id>
<id>118</id>
<id>119</id>
<id>120</id>
<id>121</id>
<id>122</id>
<id>123</id>
<id>127</id>
<id>128</id>
<id>129</id>
<id>130</id>
<id>131</id>
<id>132</id>
<id>135</id>
<id>136</id>
<id>137</id>
<id>138</id>
<id>139</id>
<id>142</id>
<id>144</id>
<id>145</id>
<id>146</id>
<id>147</id>
<id>151</id>
<id>152</id>
<id>153</id>
<id>154</id>
<id>163</id>
<id>164</id>
<id>165</id>
<id>166</id>
<id>167</id>
<id>168</id>
<id>169</id>
<id>171</id>
<id>172</id>
<id>173</id>
<id>181</id>
<id>182</id>
<id>183</id>
<id>189</id>
<id>190</id>
<id>191</id>
<id>192</id>
<id>193</id>
<id>196</id>
<id>197</id>
<id>198</id>
<id>201</id>
<id>202</id>
<id>203</id>
<id>206</id>
<id>207</id>
<id>208</id>
<id>216</id>
<id>217</id>
<id>218</id>
<id>221</id>
<id>222</id>
<id>223</id>
<id>247</id>
<id>257</id>
<id>259</id>
<id>262</id>
<id>264</id>
<id>265</id>
<id>266</id>
<id>267</id>
<id>270</id>
<id>272</id>
<id>274</id>
<id>275</id>
<id>288</id>
<id>289</id>
<id>290</id>
<id>291</id>
<id>292</id>
<id>293</id>
<id>294</id>
<id>295</id>
<id>296</id>
<id>297</id>
<id>298</id>
<id>299</id>
<id>300</id>
<id>301</id>
<id>302</id>
<id>303</id>
<id>304</id>
<id>305</id>
<id>306</id>
<id>315</id>
<id>316</id>
<id>318</id>
<id>319</id>
<id>328</id>
<id>336</id>
<id>337</id>
<id>338</id>
<id>339</id>
<id>340</id>
<id>341</id>
<id>342</id>
<id>343</id>
<id>344</id>
<id>345</id>
<id>346</id>
<id>347</id>
<id>348</id>
<id>349</id>
<id>350</id>
<id>351</id>
<id>354</id>
<id>355</id>
<id>368</id>
<id>369</id>
<id>370</id>
<id>371</id>
<id>372</id>
<id>373</id>
<id>374</id>
<id>375</id>
<id>376</id>
<id>377</id>
<id>378</id>
<id>379</id>
<id>380</id>
<id>381</id>
<id>382</id>
<id>383</id>
<id>384</id>
<id>385</id>
<id>386</id>
<id>387</id>
<id>388</id>
<id>389</id>
<id>390</id>
<id>391</id>
<id>392</id>
<id>393</id>
<id>394</id>
<id>395</id>
<id>396</id>
<id>397</id>
<id>399</id>
<id>408</id>
<id>409</id>
<id>413</id>
<id>414</id>
<id>419</id>
<id>428</id>
<id>429</id>
<id>433</id>
<id>434</id>
<id>523</id>
<id>536</id>
<id>658</id>
<id>691</id>
<id>701</id>
<id>703</id>
<id>704</id>
<id>706</id>
<id>707</id>
<id>709</id>
<id>710</id>
<id>233</id>
<id>234</id>
<id>235</id>
<id>236</id>
<id>237</id>
<id>238</id>
<id>239</id>
<id>226</id>
<id>227</id>
<id>228</id>
<id>229</id>
<id>230</id>
<id>231</id>
<id>232</id>
<id>240</id>
<id>241</id>
<id>242</id>
<id>243</id>
<id>244</id>
<id>245</id>
<id>246</id>
<id>357</id>
<id>359</id>
<id>358</id>
</availableItems>
<forceUnlockedItems>
<id>267</id>
<id>305</id>
<id>306</id>
</forceUnlockedItems>
<playerWins>
<playerWin>
<bossId>1</bossId>
<droppedKeys>7</droppedKeys>
<winCount>454</winCount>
</playerWin>
<playerWin>
<bossId>2</bossId>
<droppedKeys>2</droppedKeys>
<winCount>142</winCount>
</playerWin>
<playerWin>
<bossId>3</bossId>
<droppedKeys>1</droppedKeys>
<winCount>40</winCount>
</playerWin>
<playerWin>
<bossId>4</bossId>
<droppedKeys>4</droppedKeys>
<winCount>13</winCount>
</playerWin>
<playerWin>
<bossId>5</bossId>
<droppedKeys>4</droppedKeys>
<winCount>4</winCount>
</playerWin>
<playerWin>
<bossId>6</bossId>
<droppedKeys>36</droppedKeys>
<winCount>36</winCount>
</playerWin>
</playerWins>
<playerCities>
<playerCity>
<cityId>1</cityId>
<liking>24287</liking>
<missionLevel>7</missionLevel>
<darkLiking>900</darkLiking>
<darkMissionLevel>3</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>2</cityId>
<liking>26685</liking>
<missionLevel>7</missionLevel>
<darkLiking>918</darkLiking>
<darkMissionLevel>3</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>3</cityId>
<liking>23253</liking>
<missionLevel>7</missionLevel>
<darkLiking>720</darkLiking>
<darkMissionLevel>2</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>4</cityId>
<liking>38305</liking>
<missionLevel>5</missionLevel>
<darkLiking>862</darkLiking>
<darkMissionLevel>2</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>5</cityId>
<liking>4974</liking>
<missionLevel>7</missionLevel>
<darkLiking>0</darkLiking>
<darkMissionLevel>1</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>6</cityId>
<liking>11044</liking>
<missionLevel>3</missionLevel>
<darkLiking>0</darkLiking>
<darkMissionLevel>1</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>7</cityId>
<liking>1208</liking>
<missionLevel>1</missionLevel>
<darkLiking>0</darkLiking>
<darkMissionLevel>1</darkMissionLevel>
</playerCity>
<playerCity>
<cityId>10</cityId>
<liking>27573</liking>
<missionLevel>7</missionLevel>
<darkLiking>484</darkLiking>
<darkMissionLevel>2</darkMissionLevel>
</playerCity>
</playerCities>
<spams>
<spam>
<id>28</id>
<swf_link>[Ссылки могут видеть только зарегистрированные и активированные пользователи]>
<x>-25</x>
<y>25</y>
<requirements><reqs><requirement type="rating">50</requirement></reqs></requirements>
</spam>
<spam>
<id>29</id>
<swf_link>[Ссылки могут видеть только зарегистрированные и активированные пользователи]>
<x>-25</x>
<y>25</y>
<requirements><reqs><requirement type="rating">50</requirement></reqs></requirements>
</spam>
</spams>
<cardGameCount>102</cardGameCount>
<beard>0</beard>
<cctp>0</cctp>
<playerTalents>

<talent id="5">10</talent>


<talent id="6">10</talent>


<talent id="3">20</talent>

</playerTalents>
<playerTalentPoints>40</playerTalentPoints>
<playerBuffs>
<!-- no data in 'playerBuffs' -->
</playerBuffs>
<server_ts>1310569121</server_ts>
</data>


Мне тут конкретно нужно из utf-8 в windows-1251. Но функций в интернете нету =(

VeTaL_UA
13.07.2011, 23:00
Utf8ToAnsi() должно помочь...

Fliva59
13.07.2011, 23:38
Я это пробовал, нет =(

Mebius
14.07.2011, 19:31
дык ты нам мозг тут компоссируешь, это вообще не утф8! это слово, закодированное вариантом URLEncode. стандартных ф-ций раскодировки я не знаю тк не приходило в голову их использовать. знаю пакет synapse, имхо лучший в своем роде.

берем оттуда synacode в юзес. потом пишешь Label19.Caption:=synacode.DecodeURL(name);

Synapse: оф сайт ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

для тех, кто пошлет меня далеко и на долго с тем, что это не утф8.
он парсит name:
<name>%D0%91%D1%80%D0%B8%D1%82%D0%B2%D0%B0</name>
идем сюда ([Ссылки могут видеть только зарегистрированные и активированные пользователи]) и вставляем то, что спарсилось: %D0%91%D1%80%D0%B8%D1%82%D0%B2%D0%B0
тыкаем на декоде и видим: Бритва

Fliva59
14.07.2011, 21:47
На офф сайп провайдер не пускает =( можешь на форум скинуть свежую версию для 2010 среды

Mebius
14.07.2011, 23:39
На офф сайп провайдер не пускает =( можешь на форум скинуть свежую версию для 2010 среды

лови

[Ссылки могут видеть только зарегистрированные и активированные пользователи]

VeTaL_UA
14.07.2011, 23:43
Fliva59, Скачать synapse ([Ссылки могут видеть только зарегистрированные и активированные пользователи]), Установка ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

Fliva59
15.07.2011, 10:27
Label19.Caption:=synacode.DecodeURL(name);
И получается вот это
Бритва

Mebius
15.07.2011, 11:11
Label19.Caption:=synacode.DecodeURL(name);
И получается вот это
Бритва

а вот это уже UTF8. тут UTFDecode)

VeTaL_UA
15.07.2011, 11:28
Полный код такой:
var
s:string
begin
s:=synacode.DecodeURL(name);
Label19.Caption:=UTF8Decode(s);
end;
//Блин, опять опередил...

Mebius
15.07.2011, 12:03
Полный код такой:
var
s:string
begin
s:=synacode.DecodeURL(name);
Label19.Caption:=UTF8Decode(s);
end;
//Блин, опять опередил...

зачем так сложно????

лишнюю переменную объявлять не надо.


begin
Label19.Caption:=UTF8Decode(synacode.DecodeURL(nam e));
end;