PageRenderTime 60ms CodeModel.GetById 26ms RepoModel.GetById 0ms app.codeStats 0ms

/station/forum/includes/utf/data/recode_basic.php

https://github.com/bryanveloso/sayonarane
PHP | 1543 lines | 1525 code | 17 blank | 1 comment | 0 complexity | 5b810151e098734e6457cc0e5256a3d7 MD5 | raw file
Possible License(s): AGPL-1.0
  1. <?php
  2. function iso_8859_1($string)
  3. {
  4. return utf8_encode($string);
  5. }
  6. function iso_8859_2($string)
  7. {
  8. static $transform = array(
  9. "\x80" => "\xC2\x80",
  10. "\x81" => "\xC2\x81",
  11. "\x82" => "\xC2\x82",
  12. "\x83" => "\xC2\x83",
  13. "\x84" => "\xC2\x84",
  14. "\x85" => "\xC2\x85",
  15. "\x86" => "\xC2\x86",
  16. "\x87" => "\xC2\x87",
  17. "\x88" => "\xC2\x88",
  18. "\x89" => "\xC2\x89",
  19. "\x8A" => "\xC2\x8A",
  20. "\x8B" => "\xC2\x8B",
  21. "\x8C" => "\xC2\x8C",
  22. "\x8D" => "\xC2\x8D",
  23. "\x8E" => "\xC2\x8E",
  24. "\x8F" => "\xC2\x8F",
  25. "\x90" => "\xC2\x90",
  26. "\x91" => "\xC2\x91",
  27. "\x92" => "\xC2\x92",
  28. "\x93" => "\xC2\x93",
  29. "\x94" => "\xC2\x94",
  30. "\x95" => "\xC2\x95",
  31. "\x96" => "\xC2\x96",
  32. "\x97" => "\xC2\x97",
  33. "\x98" => "\xC2\x98",
  34. "\x99" => "\xC2\x99",
  35. "\x9A" => "\xC2\x9A",
  36. "\x9B" => "\xC2\x9B",
  37. "\x9C" => "\xC2\x9C",
  38. "\x9D" => "\xC2\x9D",
  39. "\x9E" => "\xC2\x9E",
  40. "\x9F" => "\xC2\x9F",
  41. "\xA0" => "\xC2\xA0",
  42. "\xA1" => "\xC4\x84",
  43. "\xA2" => "\xCB\x98",
  44. "\xA3" => "\xC5\x81",
  45. "\xA4" => "\xC2\xA4",
  46. "\xA5" => "\xC4\xBD",
  47. "\xA6" => "\xC5\x9A",
  48. "\xA7" => "\xC2\xA7",
  49. "\xA8" => "\xC2\xA8",
  50. "\xA9" => "\xC5\xA0",
  51. "\xAA" => "\xC5\x9E",
  52. "\xAB" => "\xC5\xA4",
  53. "\xAC" => "\xC5\xB9",
  54. "\xAD" => "\xC2\xAD",
  55. "\xAE" => "\xC5\xBD",
  56. "\xAF" => "\xC5\xBB",
  57. "\xB0" => "\xC2\xB0",
  58. "\xB1" => "\xC4\x85",
  59. "\xB2" => "\xCB\x9B",
  60. "\xB3" => "\xC5\x82",
  61. "\xB4" => "\xC2\xB4",
  62. "\xB5" => "\xC4\xBE",
  63. "\xB6" => "\xC5\x9B",
  64. "\xB7" => "\xCB\x87",
  65. "\xB8" => "\xC2\xB8",
  66. "\xB9" => "\xC5\xA1",
  67. "\xBA" => "\xC5\x9F",
  68. "\xBB" => "\xC5\xA5",
  69. "\xBC" => "\xC5\xBA",
  70. "\xBD" => "\xCB\x9D",
  71. "\xBE" => "\xC5\xBE",
  72. "\xBF" => "\xC5\xBC",
  73. "\xC0" => "\xC5\x94",
  74. "\xC1" => "\xC3\x81",
  75. "\xC2" => "\xC3\x82",
  76. "\xC3" => "\xC4\x82",
  77. "\xC4" => "\xC3\x84",
  78. "\xC5" => "\xC4\xB9",
  79. "\xC6" => "\xC4\x86",
  80. "\xC7" => "\xC3\x87",
  81. "\xC8" => "\xC4\x8C",
  82. "\xC9" => "\xC3\x89",
  83. "\xCA" => "\xC4\x98",
  84. "\xCB" => "\xC3\x8B",
  85. "\xCC" => "\xC4\x9A",
  86. "\xCD" => "\xC3\x8D",
  87. "\xCE" => "\xC3\x8E",
  88. "\xCF" => "\xC4\x8E",
  89. "\xD0" => "\xC4\x90",
  90. "\xD1" => "\xC5\x83",
  91. "\xD2" => "\xC5\x87",
  92. "\xD3" => "\xC3\x93",
  93. "\xD4" => "\xC3\x94",
  94. "\xD5" => "\xC5\x90",
  95. "\xD6" => "\xC3\x96",
  96. "\xD7" => "\xC3\x97",
  97. "\xD8" => "\xC5\x98",
  98. "\xD9" => "\xC5\xAE",
  99. "\xDA" => "\xC3\x9A",
  100. "\xDB" => "\xC5\xB0",
  101. "\xDC" => "\xC3\x9C",
  102. "\xDD" => "\xC3\x9D",
  103. "\xDE" => "\xC5\xA2",
  104. "\xDF" => "\xC3\x9F",
  105. "\xE0" => "\xC5\x95",
  106. "\xE1" => "\xC3\xA1",
  107. "\xE2" => "\xC3\xA2",
  108. "\xE3" => "\xC4\x83",
  109. "\xE4" => "\xC3\xA4",
  110. "\xE5" => "\xC4\xBA",
  111. "\xE6" => "\xC4\x87",
  112. "\xE7" => "\xC3\xA7",
  113. "\xE8" => "\xC4\x8D",
  114. "\xE9" => "\xC3\xA9",
  115. "\xEA" => "\xC4\x99",
  116. "\xEB" => "\xC3\xAB",
  117. "\xEC" => "\xC4\x9B",
  118. "\xED" => "\xC3\xAD",
  119. "\xEE" => "\xC3\xAE",
  120. "\xEF" => "\xC4\x8F",
  121. "\xF0" => "\xC4\x91",
  122. "\xF1" => "\xC5\x84",
  123. "\xF2" => "\xC5\x88",
  124. "\xF3" => "\xC3\xB3",
  125. "\xF4" => "\xC3\xB4",
  126. "\xF5" => "\xC5\x91",
  127. "\xF6" => "\xC3\xB6",
  128. "\xF7" => "\xC3\xB7",
  129. "\xF8" => "\xC5\x99",
  130. "\xF9" => "\xC5\xAF",
  131. "\xFA" => "\xC3\xBA",
  132. "\xFB" => "\xC5\xB1",
  133. "\xFC" => "\xC3\xBC",
  134. "\xFD" => "\xC3\xBD",
  135. "\xFE" => "\xC5\xA3",
  136. "\xFF" => "\xCB\x99",
  137. );
  138. return strtr($string, $transform);
  139. }
  140. function iso_8859_4($string)
  141. {
  142. static $transform = array(
  143. "\x80" => "\xC2\x80",
  144. "\x81" => "\xC2\x81",
  145. "\x82" => "\xC2\x82",
  146. "\x83" => "\xC2\x83",
  147. "\x84" => "\xC2\x84",
  148. "\x85" => "\xC2\x85",
  149. "\x86" => "\xC2\x86",
  150. "\x87" => "\xC2\x87",
  151. "\x88" => "\xC2\x88",
  152. "\x89" => "\xC2\x89",
  153. "\x8A" => "\xC2\x8A",
  154. "\x8B" => "\xC2\x8B",
  155. "\x8C" => "\xC2\x8C",
  156. "\x8D" => "\xC2\x8D",
  157. "\x8E" => "\xC2\x8E",
  158. "\x8F" => "\xC2\x8F",
  159. "\x90" => "\xC2\x90",
  160. "\x91" => "\xC2\x91",
  161. "\x92" => "\xC2\x92",
  162. "\x93" => "\xC2\x93",
  163. "\x94" => "\xC2\x94",
  164. "\x95" => "\xC2\x95",
  165. "\x96" => "\xC2\x96",
  166. "\x97" => "\xC2\x97",
  167. "\x98" => "\xC2\x98",
  168. "\x99" => "\xC2\x99",
  169. "\x9A" => "\xC2\x9A",
  170. "\x9B" => "\xC2\x9B",
  171. "\x9C" => "\xC2\x9C",
  172. "\x9D" => "\xC2\x9D",
  173. "\x9E" => "\xC2\x9E",
  174. "\x9F" => "\xC2\x9F",
  175. "\xA0" => "\xC2\xA0",
  176. "\xA1" => "\xC4\x84",
  177. "\xA2" => "\xC4\xB8",
  178. "\xA3" => "\xC5\x96",
  179. "\xA4" => "\xC2\xA4",
  180. "\xA5" => "\xC4\xA8",
  181. "\xA6" => "\xC4\xBB",
  182. "\xA7" => "\xC2\xA7",
  183. "\xA8" => "\xC2\xA8",
  184. "\xA9" => "\xC5\xA0",
  185. "\xAA" => "\xC4\x92",
  186. "\xAB" => "\xC4\xA2",
  187. "\xAC" => "\xC5\xA6",
  188. "\xAD" => "\xC2\xAD",
  189. "\xAE" => "\xC5\xBD",
  190. "\xAF" => "\xC2\xAF",
  191. "\xB0" => "\xC2\xB0",
  192. "\xB1" => "\xC4\x85",
  193. "\xB2" => "\xCB\x9B",
  194. "\xB3" => "\xC5\x97",
  195. "\xB4" => "\xC2\xB4",
  196. "\xB5" => "\xC4\xA9",
  197. "\xB6" => "\xC4\xBC",
  198. "\xB7" => "\xCB\x87",
  199. "\xB8" => "\xC2\xB8",
  200. "\xB9" => "\xC5\xA1",
  201. "\xBA" => "\xC4\x93",
  202. "\xBB" => "\xC4\xA3",
  203. "\xBC" => "\xC5\xA7",
  204. "\xBD" => "\xC5\x8A",
  205. "\xBE" => "\xC5\xBE",
  206. "\xBF" => "\xC5\x8B",
  207. "\xC0" => "\xC4\x80",
  208. "\xC1" => "\xC3\x81",
  209. "\xC2" => "\xC3\x82",
  210. "\xC3" => "\xC3\x83",
  211. "\xC4" => "\xC3\x84",
  212. "\xC5" => "\xC3\x85",
  213. "\xC6" => "\xC3\x86",
  214. "\xC7" => "\xC4\xAE",
  215. "\xC8" => "\xC4\x8C",
  216. "\xC9" => "\xC3\x89",
  217. "\xCA" => "\xC4\x98",
  218. "\xCB" => "\xC3\x8B",
  219. "\xCC" => "\xC4\x96",
  220. "\xCD" => "\xC3\x8D",
  221. "\xCE" => "\xC3\x8E",
  222. "\xCF" => "\xC4\xAA",
  223. "\xD0" => "\xC4\x90",
  224. "\xD1" => "\xC5\x85",
  225. "\xD2" => "\xC5\x8C",
  226. "\xD3" => "\xC4\xB6",
  227. "\xD4" => "\xC3\x94",
  228. "\xD5" => "\xC3\x95",
  229. "\xD6" => "\xC3\x96",
  230. "\xD7" => "\xC3\x97",
  231. "\xD8" => "\xC3\x98",
  232. "\xD9" => "\xC5\xB2",
  233. "\xDA" => "\xC3\x9A",
  234. "\xDB" => "\xC3\x9B",
  235. "\xDC" => "\xC3\x9C",
  236. "\xDD" => "\xC5\xA8",
  237. "\xDE" => "\xC5\xAA",
  238. "\xDF" => "\xC3\x9F",
  239. "\xE0" => "\xC4\x81",
  240. "\xE1" => "\xC3\xA1",
  241. "\xE2" => "\xC3\xA2",
  242. "\xE3" => "\xC3\xA3",
  243. "\xE4" => "\xC3\xA4",
  244. "\xE5" => "\xC3\xA5",
  245. "\xE6" => "\xC3\xA6",
  246. "\xE7" => "\xC4\xAF",
  247. "\xE8" => "\xC4\x8D",
  248. "\xE9" => "\xC3\xA9",
  249. "\xEA" => "\xC4\x99",
  250. "\xEB" => "\xC3\xAB",
  251. "\xEC" => "\xC4\x97",
  252. "\xED" => "\xC3\xAD",
  253. "\xEE" => "\xC3\xAE",
  254. "\xEF" => "\xC4\xAB",
  255. "\xF0" => "\xC4\x91",
  256. "\xF1" => "\xC5\x86",
  257. "\xF2" => "\xC5\x8D",
  258. "\xF3" => "\xC4\xB7",
  259. "\xF4" => "\xC3\xB4",
  260. "\xF5" => "\xC3\xB5",
  261. "\xF6" => "\xC3\xB6",
  262. "\xF7" => "\xC3\xB7",
  263. "\xF8" => "\xC3\xB8",
  264. "\xF9" => "\xC5\xB3",
  265. "\xFA" => "\xC3\xBA",
  266. "\xFB" => "\xC3\xBB",
  267. "\xFC" => "\xC3\xBC",
  268. "\xFD" => "\xC5\xA9",
  269. "\xFE" => "\xC5\xAB",
  270. "\xFF" => "\xCB\x99",
  271. );
  272. return strtr($string, $transform);
  273. }
  274. function iso_8859_7($string)
  275. {
  276. static $transform = array(
  277. "\x80" => "\xC2\x80",
  278. "\x81" => "\xC2\x81",
  279. "\x82" => "\xC2\x82",
  280. "\x83" => "\xC2\x83",
  281. "\x84" => "\xC2\x84",
  282. "\x85" => "\xC2\x85",
  283. "\x86" => "\xC2\x86",
  284. "\x87" => "\xC2\x87",
  285. "\x88" => "\xC2\x88",
  286. "\x89" => "\xC2\x89",
  287. "\x8A" => "\xC2\x8A",
  288. "\x8B" => "\xC2\x8B",
  289. "\x8C" => "\xC2\x8C",
  290. "\x8D" => "\xC2\x8D",
  291. "\x8E" => "\xC2\x8E",
  292. "\x8F" => "\xC2\x8F",
  293. "\x90" => "\xC2\x90",
  294. "\x91" => "\xC2\x91",
  295. "\x92" => "\xC2\x92",
  296. "\x93" => "\xC2\x93",
  297. "\x94" => "\xC2\x94",
  298. "\x95" => "\xC2\x95",
  299. "\x96" => "\xC2\x96",
  300. "\x97" => "\xC2\x97",
  301. "\x98" => "\xC2\x98",
  302. "\x99" => "\xC2\x99",
  303. "\x9A" => "\xC2\x9A",
  304. "\x9B" => "\xC2\x9B",
  305. "\x9C" => "\xC2\x9C",
  306. "\x9D" => "\xC2\x9D",
  307. "\x9E" => "\xC2\x9E",
  308. "\x9F" => "\xC2\x9F",
  309. "\xA0" => "\xC2\xA0",
  310. "\xA1" => "\xE2\x80\x98",
  311. "\xA2" => "\xE2\x80\x99",
  312. "\xA3" => "\xC2\xA3",
  313. "\xA4" => "\xE2\x82\xAC",
  314. "\xA5" => "\xE2\x82\xAF",
  315. "\xA6" => "\xC2\xA6",
  316. "\xA7" => "\xC2\xA7",
  317. "\xA8" => "\xC2\xA8",
  318. "\xA9" => "\xC2\xA9",
  319. "\xAA" => "\xCD\xBA",
  320. "\xAB" => "\xC2\xAB",
  321. "\xAC" => "\xC2\xAC",
  322. "\xAD" => "\xC2\xAD",
  323. "\xAF" => "\xE2\x80\x95",
  324. "\xB0" => "\xC2\xB0",
  325. "\xB1" => "\xC2\xB1",
  326. "\xB2" => "\xC2\xB2",
  327. "\xB3" => "\xC2\xB3",
  328. "\xB4" => "\xCE\x84",
  329. "\xB5" => "\xCE\x85",
  330. "\xB6" => "\xCE\x86",
  331. "\xB7" => "\xC2\xB7",
  332. "\xB8" => "\xCE\x88",
  333. "\xB9" => "\xCE\x89",
  334. "\xBA" => "\xCE\x8A",
  335. "\xBB" => "\xC2\xBB",
  336. "\xBC" => "\xCE\x8C",
  337. "\xBD" => "\xC2\xBD",
  338. "\xBE" => "\xCE\x8E",
  339. "\xBF" => "\xCE\x8F",
  340. "\xC0" => "\xCE\x90",
  341. "\xC1" => "\xCE\x91",
  342. "\xC2" => "\xCE\x92",
  343. "\xC3" => "\xCE\x93",
  344. "\xC4" => "\xCE\x94",
  345. "\xC5" => "\xCE\x95",
  346. "\xC6" => "\xCE\x96",
  347. "\xC7" => "\xCE\x97",
  348. "\xC8" => "\xCE\x98",
  349. "\xC9" => "\xCE\x99",
  350. "\xCA" => "\xCE\x9A",
  351. "\xCB" => "\xCE\x9B",
  352. "\xCC" => "\xCE\x9C",
  353. "\xCD" => "\xCE\x9D",
  354. "\xCE" => "\xCE\x9E",
  355. "\xCF" => "\xCE\x9F",
  356. "\xD0" => "\xCE\xA0",
  357. "\xD1" => "\xCE\xA1",
  358. "\xD3" => "\xCE\xA3",
  359. "\xD4" => "\xCE\xA4",
  360. "\xD5" => "\xCE\xA5",
  361. "\xD6" => "\xCE\xA6",
  362. "\xD7" => "\xCE\xA7",
  363. "\xD8" => "\xCE\xA8",
  364. "\xD9" => "\xCE\xA9",
  365. "\xDA" => "\xCE\xAA",
  366. "\xDB" => "\xCE\xAB",
  367. "\xDC" => "\xCE\xAC",
  368. "\xDD" => "\xCE\xAD",
  369. "\xDE" => "\xCE\xAE",
  370. "\xDF" => "\xCE\xAF",
  371. "\xE0" => "\xCE\xB0",
  372. "\xE1" => "\xCE\xB1",
  373. "\xE2" => "\xCE\xB2",
  374. "\xE3" => "\xCE\xB3",
  375. "\xE4" => "\xCE\xB4",
  376. "\xE5" => "\xCE\xB5",
  377. "\xE6" => "\xCE\xB6",
  378. "\xE7" => "\xCE\xB7",
  379. "\xE8" => "\xCE\xB8",
  380. "\xE9" => "\xCE\xB9",
  381. "\xEA" => "\xCE\xBA",
  382. "\xEB" => "\xCE\xBB",
  383. "\xEC" => "\xCE\xBC",
  384. "\xED" => "\xCE\xBD",
  385. "\xEE" => "\xCE\xBE",
  386. "\xEF" => "\xCE\xBF",
  387. "\xF0" => "\xCF\x80",
  388. "\xF1" => "\xCF\x81",
  389. "\xF2" => "\xCF\x82",
  390. "\xF3" => "\xCF\x83",
  391. "\xF4" => "\xCF\x84",
  392. "\xF5" => "\xCF\x85",
  393. "\xF6" => "\xCF\x86",
  394. "\xF7" => "\xCF\x87",
  395. "\xF8" => "\xCF\x88",
  396. "\xF9" => "\xCF\x89",
  397. "\xFA" => "\xCF\x8A",
  398. "\xFB" => "\xCF\x8B",
  399. "\xFC" => "\xCF\x8C",
  400. "\xFD" => "\xCF\x8D",
  401. "\xFE" => "\xCF\x8E",
  402. );
  403. return strtr($string, $transform);
  404. }
  405. function iso_8859_8($string)
  406. {
  407. static $transform = array(
  408. "\xC2\xAA" => "\xC3\x97",
  409. "\xC2\xBA" => "\xC3\xB7",
  410. "\xC3\x9F" => "\xE2\x80\x97",
  411. "\xC3\xA0" => "\xD7\x90",
  412. "\xC3\xA1" => "\xD7\x91",
  413. "\xC3\xA2" => "\xD7\x92",
  414. "\xC3\xA3" => "\xD7\x93",
  415. "\xC3\xA4" => "\xD7\x94",
  416. "\xC3\xA5" => "\xD7\x95",
  417. "\xC3\xA6" => "\xD7\x96",
  418. "\xC3\xA7" => "\xD7\x97",
  419. "\xC3\xA8" => "\xD7\x98",
  420. "\xC3\xA9" => "\xD7\x99",
  421. "\xC3\xAA" => "\xD7\x9A",
  422. "\xC3\xAB" => "\xD7\x9B",
  423. "\xC3\xAC" => "\xD7\x9C",
  424. "\xC3\xAD" => "\xD7\x9D",
  425. "\xC3\xAE" => "\xD7\x9E",
  426. "\xC3\xAF" => "\xD7\x9F",
  427. "\xC3\xB0" => "\xD7\xA0",
  428. "\xC3\xB1" => "\xD7\xA1",
  429. "\xC3\xB2" => "\xD7\xA2",
  430. "\xC3\xB3" => "\xD7\xA3",
  431. "\xC3\xB4" => "\xD7\xA4",
  432. "\xC3\xB5" => "\xD7\xA5",
  433. "\xC3\xB6" => "\xD7\xA6",
  434. "\xC3\xB7" => "\xD7\xA7",
  435. "\xC3\xB8" => "\xD7\xA8",
  436. "\xC3\xB9" => "\xD7\xA9",
  437. "\xC3\xBA" => "\xD7\xAA",
  438. "\xC3\xBD" => "\xE2\x80\x8E",
  439. "\xC3\xBE" => "\xE2\x80\x8F",
  440. );
  441. return strtr(utf8_encode($string), $transform);
  442. }
  443. function iso_8859_9($string)
  444. {
  445. static $transform = array(
  446. "\xC3\x90" => "\xC4\x9E",
  447. "\xC3\x9D" => "\xC4\xB0",
  448. "\xC3\x9E" => "\xC5\x9E",
  449. "\xC3\xB0" => "\xC4\x9F",
  450. "\xC3\xBD" => "\xC4\xB1",
  451. "\xC3\xBE" => "\xC5\x9F",
  452. );
  453. return strtr(utf8_encode($string), $transform);
  454. }
  455. function iso_8859_15($string)
  456. {
  457. static $transform = array(
  458. "\xC2\xA4" => "\xE2\x82\xAC",
  459. "\xC2\xA6" => "\xC5\xA0",
  460. "\xC2\xA8" => "\xC5\xA1",
  461. "\xC2\xB4" => "\xC5\xBD",
  462. "\xC2\xB8" => "\xC5\xBE",
  463. "\xC2\xBC" => "\xC5\x92",
  464. "\xC2\xBD" => "\xC5\x93",
  465. "\xC2\xBE" => "\xC5\xB8",
  466. );
  467. return strtr(utf8_encode($string), $transform);
  468. }
  469. // nearly the same as iso-8859-11
  470. function tis_620($string)
  471. {
  472. static $transform = array(
  473. "\x80" => "\xC2\x80",
  474. "\x81" => "\xC2\x81",
  475. "\x82" => "\xC2\x82",
  476. "\x83" => "\xC2\x83",
  477. "\x84" => "\xC2\x84",
  478. "\x85" => "\xC2\x85",
  479. "\x86" => "\xC2\x86",
  480. "\x87" => "\xC2\x87",
  481. "\x88" => "\xC2\x88",
  482. "\x89" => "\xC2\x89",
  483. "\x8A" => "\xC2\x8A",
  484. "\x8B" => "\xC2\x8B",
  485. "\x8C" => "\xC2\x8C",
  486. "\x8D" => "\xC2\x8D",
  487. "\x8E" => "\xC2\x8E",
  488. "\x8F" => "\xC2\x8F",
  489. "\x90" => "\xC2\x90",
  490. "\x91" => "\xC2\x91",
  491. "\x92" => "\xC2\x92",
  492. "\x93" => "\xC2\x93",
  493. "\x94" => "\xC2\x94",
  494. "\x95" => "\xC2\x95",
  495. "\x96" => "\xC2\x96",
  496. "\x97" => "\xC2\x97",
  497. "\x98" => "\xC2\x98",
  498. "\x99" => "\xC2\x99",
  499. "\x9A" => "\xC2\x9A",
  500. "\x9B" => "\xC2\x9B",
  501. "\x9C" => "\xC2\x9C",
  502. "\x9D" => "\xC2\x9D",
  503. "\x9E" => "\xC2\x9E",
  504. "\x9F" => "\xC2\x9F",
  505. "\xA1" => "\xE0\xB8\x81",
  506. "\xA2" => "\xE0\xB8\x82",
  507. "\xA3" => "\xE0\xB8\x83",
  508. "\xA4" => "\xE0\xB8\x84",
  509. "\xA5" => "\xE0\xB8\x85",
  510. "\xA6" => "\xE0\xB8\x86",
  511. "\xA7" => "\xE0\xB8\x87",
  512. "\xA8" => "\xE0\xB8\x88",
  513. "\xA9" => "\xE0\xB8\x89",
  514. "\xAA" => "\xE0\xB8\x8A",
  515. "\xAB" => "\xE0\xB8\x8B",
  516. "\xAC" => "\xE0\xB8\x8C",
  517. "\xAD" => "\xE0\xB8\x8D",
  518. "\xAE" => "\xE0\xB8\x8E",
  519. "\xAF" => "\xE0\xB8\x8F",
  520. "\xB0" => "\xE0\xB8\x90",
  521. "\xB1" => "\xE0\xB8\x91",
  522. "\xB2" => "\xE0\xB8\x92",
  523. "\xB3" => "\xE0\xB8\x93",
  524. "\xB4" => "\xE0\xB8\x94",
  525. "\xB5" => "\xE0\xB8\x95",
  526. "\xB6" => "\xE0\xB8\x96",
  527. "\xB7" => "\xE0\xB8\x97",
  528. "\xB8" => "\xE0\xB8\x98",
  529. "\xB9" => "\xE0\xB8\x99",
  530. "\xBA" => "\xE0\xB8\x9A",
  531. "\xBB" => "\xE0\xB8\x9B",
  532. "\xBC" => "\xE0\xB8\x9C",
  533. "\xBD" => "\xE0\xB8\x9D",
  534. "\xBE" => "\xE0\xB8\x9E",
  535. "\xBF" => "\xE0\xB8\x9F",
  536. "\xC0" => "\xE0\xB8\xA0",
  537. "\xC1" => "\xE0\xB8\xA1",
  538. "\xC2" => "\xE0\xB8\xA2",
  539. "\xC3" => "\xE0\xB8\xA3",
  540. "\xC4" => "\xE0\xB8\xA4",
  541. "\xC5" => "\xE0\xB8\xA5",
  542. "\xC6" => "\xE0\xB8\xA6",
  543. "\xC7" => "\xE0\xB8\xA7",
  544. "\xC8" => "\xE0\xB8\xA8",
  545. "\xC9" => "\xE0\xB8\xA9",
  546. "\xCA" => "\xE0\xB8\xAA",
  547. "\xCB" => "\xE0\xB8\xAB",
  548. "\xCC" => "\xE0\xB8\xAC",
  549. "\xCD" => "\xE0\xB8\xAD",
  550. "\xCE" => "\xE0\xB8\xAE",
  551. "\xCF" => "\xE0\xB8\xAF",
  552. "\xD0" => "\xE0\xB8\xB0",
  553. "\xD1" => "\xE0\xB8\xB1",
  554. "\xD2" => "\xE0\xB8\xB2",
  555. "\xD3" => "\xE0\xB8\xB3",
  556. "\xD4" => "\xE0\xB8\xB4",
  557. "\xD5" => "\xE0\xB8\xB5",
  558. "\xD6" => "\xE0\xB8\xB6",
  559. "\xD7" => "\xE0\xB8\xB7",
  560. "\xD8" => "\xE0\xB8\xB8",
  561. "\xD9" => "\xE0\xB8\xB9",
  562. "\xDA" => "\xE0\xB8\xBA",
  563. "\xDF" => "\xE0\xB8\xBF",
  564. "\xE0" => "\xE0\xB9\x80",
  565. "\xE1" => "\xE0\xB9\x81",
  566. "\xE2" => "\xE0\xB9\x82",
  567. "\xE3" => "\xE0\xB9\x83",
  568. "\xE4" => "\xE0\xB9\x84",
  569. "\xE5" => "\xE0\xB9\x85",
  570. "\xE6" => "\xE0\xB9\x86",
  571. "\xE7" => "\xE0\xB9\x87",
  572. "\xE8" => "\xE0\xB9\x88",
  573. "\xE9" => "\xE0\xB9\x89",
  574. "\xEA" => "\xE0\xB9\x8A",
  575. "\xEB" => "\xE0\xB9\x8B",
  576. "\xEC" => "\xE0\xB9\x8C",
  577. "\xED" => "\xE0\xB9\x8D",
  578. "\xEE" => "\xE0\xB9\x8E",
  579. "\xEF" => "\xE0\xB9\x8F",
  580. "\xF0" => "\xE0\xB9\x90",
  581. "\xF1" => "\xE0\xB9\x91",
  582. "\xF2" => "\xE0\xB9\x92",
  583. "\xF3" => "\xE0\xB9\x93",
  584. "\xF4" => "\xE0\xB9\x94",
  585. "\xF5" => "\xE0\xB9\x95",
  586. "\xF6" => "\xE0\xB9\x96",
  587. "\xF7" => "\xE0\xB9\x97",
  588. "\xF8" => "\xE0\xB9\x98",
  589. "\xF9" => "\xE0\xB9\x99",
  590. "\xFA" => "\xE0\xB9\x9A",
  591. "\xFB" => "\xE0\xB9\x9B",
  592. );
  593. return strtr($string, $transform);
  594. }
  595. function cp874($string)
  596. {
  597. static $transform = array(
  598. "\x80" => "\xE2\x82\xAC",
  599. "\x85" => "\xE2\x80\xA6",
  600. "\x91" => "\xE2\x80\x98",
  601. "\x92" => "\xE2\x80\x99",
  602. "\x93" => "\xE2\x80\x9C",
  603. "\x94" => "\xE2\x80\x9D",
  604. "\x95" => "\xE2\x80\xA2",
  605. "\x96" => "\xE2\x80\x93",
  606. "\x97" => "\xE2\x80\x94",
  607. "\xA0" => "\xC2\xA0",
  608. "\xA1" => "\xE0\xB8\x81",
  609. "\xA2" => "\xE0\xB8\x82",
  610. "\xA3" => "\xE0\xB8\x83",
  611. "\xA4" => "\xE0\xB8\x84",
  612. "\xA5" => "\xE0\xB8\x85",
  613. "\xA6" => "\xE0\xB8\x86",
  614. "\xA7" => "\xE0\xB8\x87",
  615. "\xA8" => "\xE0\xB8\x88",
  616. "\xA9" => "\xE0\xB8\x89",
  617. "\xAA" => "\xE0\xB8\x8A",
  618. "\xAB" => "\xE0\xB8\x8B",
  619. "\xAC" => "\xE0\xB8\x8C",
  620. "\xAD" => "\xE0\xB8\x8D",
  621. "\xAE" => "\xE0\xB8\x8E",
  622. "\xAF" => "\xE0\xB8\x8F",
  623. "\xB0" => "\xE0\xB8\x90",
  624. "\xB1" => "\xE0\xB8\x91",
  625. "\xB2" => "\xE0\xB8\x92",
  626. "\xB3" => "\xE0\xB8\x93",
  627. "\xB4" => "\xE0\xB8\x94",
  628. "\xB5" => "\xE0\xB8\x95",
  629. "\xB6" => "\xE0\xB8\x96",
  630. "\xB7" => "\xE0\xB8\x97",
  631. "\xB8" => "\xE0\xB8\x98",
  632. "\xB9" => "\xE0\xB8\x99",
  633. "\xBA" => "\xE0\xB8\x9A",
  634. "\xBB" => "\xE0\xB8\x9B",
  635. "\xBC" => "\xE0\xB8\x9C",
  636. "\xBD" => "\xE0\xB8\x9D",
  637. "\xBE" => "\xE0\xB8\x9E",
  638. "\xBF" => "\xE0\xB8\x9F",
  639. "\xC0" => "\xE0\xB8\xA0",
  640. "\xC1" => "\xE0\xB8\xA1",
  641. "\xC2" => "\xE0\xB8\xA2",
  642. "\xC3" => "\xE0\xB8\xA3",
  643. "\xC4" => "\xE0\xB8\xA4",
  644. "\xC5" => "\xE0\xB8\xA5",
  645. "\xC6" => "\xE0\xB8\xA6",
  646. "\xC7" => "\xE0\xB8\xA7",
  647. "\xC8" => "\xE0\xB8\xA8",
  648. "\xC9" => "\xE0\xB8\xA9",
  649. "\xCA" => "\xE0\xB8\xAA",
  650. "\xCB" => "\xE0\xB8\xAB",
  651. "\xCC" => "\xE0\xB8\xAC",
  652. "\xCD" => "\xE0\xB8\xAD",
  653. "\xCE" => "\xE0\xB8\xAE",
  654. "\xCF" => "\xE0\xB8\xAF",
  655. "\xD0" => "\xE0\xB8\xB0",
  656. "\xD1" => "\xE0\xB8\xB1",
  657. "\xD2" => "\xE0\xB8\xB2",
  658. "\xD3" => "\xE0\xB8\xB3",
  659. "\xD4" => "\xE0\xB8\xB4",
  660. "\xD5" => "\xE0\xB8\xB5",
  661. "\xD6" => "\xE0\xB8\xB6",
  662. "\xD7" => "\xE0\xB8\xB7",
  663. "\xD8" => "\xE0\xB8\xB8",
  664. "\xD9" => "\xE0\xB8\xB9",
  665. "\xDA" => "\xE0\xB8\xBA",
  666. "\xDF" => "\xE0\xB8\xBF",
  667. "\xE0" => "\xE0\xB9\x80",
  668. "\xE1" => "\xE0\xB9\x81",
  669. "\xE2" => "\xE0\xB9\x82",
  670. "\xE3" => "\xE0\xB9\x83",
  671. "\xE4" => "\xE0\xB9\x84",
  672. "\xE5" => "\xE0\xB9\x85",
  673. "\xE6" => "\xE0\xB9\x86",
  674. "\xE7" => "\xE0\xB9\x87",
  675. "\xE8" => "\xE0\xB9\x88",
  676. "\xE9" => "\xE0\xB9\x89",
  677. "\xEA" => "\xE0\xB9\x8A",
  678. "\xEB" => "\xE0\xB9\x8B",
  679. "\xEC" => "\xE0\xB9\x8C",
  680. "\xED" => "\xE0\xB9\x8D",
  681. "\xEE" => "\xE0\xB9\x8E",
  682. "\xEF" => "\xE0\xB9\x8F",
  683. "\xF0" => "\xE0\xB9\x90",
  684. "\xF1" => "\xE0\xB9\x91",
  685. "\xF2" => "\xE0\xB9\x92",
  686. "\xF3" => "\xE0\xB9\x93",
  687. "\xF4" => "\xE0\xB9\x94",
  688. "\xF5" => "\xE0\xB9\x95",
  689. "\xF6" => "\xE0\xB9\x96",
  690. "\xF7" => "\xE0\xB9\x97",
  691. "\xF8" => "\xE0\xB9\x98",
  692. "\xF9" => "\xE0\xB9\x99",
  693. "\xFA" => "\xE0\xB9\x9A",
  694. "\xFB" => "\xE0\xB9\x9B",
  695. );
  696. return strtr($string, $transform);
  697. }
  698. function cp1250($string)
  699. {
  700. static $transform = array(
  701. "\x80" => "\xE2\x82\xAC",
  702. "\x82" => "\xE2\x80\x9A",
  703. "\x84" => "\xE2\x80\x9E",
  704. "\x85" => "\xE2\x80\xA6",
  705. "\x86" => "\xE2\x80\xA0",
  706. "\x87" => "\xE2\x80\xA1",
  707. "\x89" => "\xE2\x80\xB0",
  708. "\x8A" => "\xC5\xA0",
  709. "\x8B" => "\xE2\x80\xB9",
  710. "\x8C" => "\xC5\x9A",
  711. "\x8D" => "\xC5\xA4",
  712. "\x8E" => "\xC5\xBD",
  713. "\x8F" => "\xC5\xB9",
  714. "\x91" => "\xE2\x80\x98",
  715. "\x92" => "\xE2\x80\x99",
  716. "\x93" => "\xE2\x80\x9C",
  717. "\x94" => "\xE2\x80\x9D",
  718. "\x95" => "\xE2\x80\xA2",
  719. "\x96" => "\xE2\x80\x93",
  720. "\x97" => "\xE2\x80\x94",
  721. "\x99" => "\xE2\x84\xA2",
  722. "\x9A" => "\xC5\xA1",
  723. "\x9B" => "\xE2\x80\xBA",
  724. "\x9C" => "\xC5\x9B",
  725. "\x9D" => "\xC5\xA5",
  726. "\x9E" => "\xC5\xBE",
  727. "\x9F" => "\xC5\xBA",
  728. "\xA0" => "\xC2\xA0",
  729. "\xA1" => "\xCB\x87",
  730. "\xA2" => "\xCB\x98",
  731. "\xA3" => "\xC5\x81",
  732. "\xA4" => "\xC2\xA4",
  733. "\xA5" => "\xC4\x84",
  734. "\xA6" => "\xC2\xA6",
  735. "\xA7" => "\xC2\xA7",
  736. "\xA8" => "\xC2\xA8",
  737. "\xA9" => "\xC2\xA9",
  738. "\xAA" => "\xC5\x9E",
  739. "\xAB" => "\xC2\xAB",
  740. "\xAC" => "\xC2\xAC",
  741. "\xAD" => "\xC2\xAD",
  742. "\xAE" => "\xC2\xAE",
  743. "\xAF" => "\xC5\xBB",
  744. "\xB0" => "\xC2\xB0",
  745. "\xB1" => "\xC2\xB1",
  746. "\xB2" => "\xCB\x9B",
  747. "\xB3" => "\xC5\x82",
  748. "\xB4" => "\xC2\xB4",
  749. "\xB5" => "\xC2\xB5",
  750. "\xB6" => "\xC2\xB6",
  751. "\xB7" => "\xC2\xB7",
  752. "\xB8" => "\xC2\xB8",
  753. "\xB9" => "\xC4\x85",
  754. "\xBA" => "\xC5\x9F",
  755. "\xBB" => "\xC2\xBB",
  756. "\xBC" => "\xC4\xBD",
  757. "\xBD" => "\xCB\x9D",
  758. "\xBE" => "\xC4\xBE",
  759. "\xBF" => "\xC5\xBC",
  760. "\xC0" => "\xC5\x94",
  761. "\xC1" => "\xC3\x81",
  762. "\xC2" => "\xC3\x82",
  763. "\xC3" => "\xC4\x82",
  764. "\xC4" => "\xC3\x84",
  765. "\xC5" => "\xC4\xB9",
  766. "\xC6" => "\xC4\x86",
  767. "\xC7" => "\xC3\x87",
  768. "\xC8" => "\xC4\x8C",
  769. "\xC9" => "\xC3\x89",
  770. "\xCA" => "\xC4\x98",
  771. "\xCB" => "\xC3\x8B",
  772. "\xCC" => "\xC4\x9A",
  773. "\xCD" => "\xC3\x8D",
  774. "\xCE" => "\xC3\x8E",
  775. "\xCF" => "\xC4\x8E",
  776. "\xD0" => "\xC4\x90",
  777. "\xD1" => "\xC5\x83",
  778. "\xD2" => "\xC5\x87",
  779. "\xD3" => "\xC3\x93",
  780. "\xD4" => "\xC3\x94",
  781. "\xD5" => "\xC5\x90",
  782. "\xD6" => "\xC3\x96",
  783. "\xD7" => "\xC3\x97",
  784. "\xD8" => "\xC5\x98",
  785. "\xD9" => "\xC5\xAE",
  786. "\xDA" => "\xC3\x9A",
  787. "\xDB" => "\xC5\xB0",
  788. "\xDC" => "\xC3\x9C",
  789. "\xDD" => "\xC3\x9D",
  790. "\xDE" => "\xC5\xA2",
  791. "\xDF" => "\xC3\x9F",
  792. "\xE0" => "\xC5\x95",
  793. "\xE1" => "\xC3\xA1",
  794. "\xE2" => "\xC3\xA2",
  795. "\xE3" => "\xC4\x83",
  796. "\xE4" => "\xC3\xA4",
  797. "\xE5" => "\xC4\xBA",
  798. "\xE6" => "\xC4\x87",
  799. "\xE7" => "\xC3\xA7",
  800. "\xE8" => "\xC4\x8D",
  801. "\xE9" => "\xC3\xA9",
  802. "\xEA" => "\xC4\x99",
  803. "\xEB" => "\xC3\xAB",
  804. "\xEC" => "\xC4\x9B",
  805. "\xED" => "\xC3\xAD",
  806. "\xEE" => "\xC3\xAE",
  807. "\xEF" => "\xC4\x8F",
  808. "\xF0" => "\xC4\x91",
  809. "\xF1" => "\xC5\x84",
  810. "\xF2" => "\xC5\x88",
  811. "\xF3" => "\xC3\xB3",
  812. "\xF4" => "\xC3\xB4",
  813. "\xF5" => "\xC5\x91",
  814. "\xF6" => "\xC3\xB6",
  815. "\xF7" => "\xC3\xB7",
  816. "\xF8" => "\xC5\x99",
  817. "\xF9" => "\xC5\xAF",
  818. "\xFA" => "\xC3\xBA",
  819. "\xFB" => "\xC5\xB1",
  820. "\xFC" => "\xC3\xBC",
  821. "\xFD" => "\xC3\xBD",
  822. "\xFE" => "\xC5\xA3",
  823. "\xFF" => "\xCB\x99",
  824. );
  825. return strtr($string, $transform);
  826. }
  827. function cp1251($string)
  828. {
  829. static $transform = array(
  830. "\x80" => "\xD0\x82",
  831. "\x81" => "\xD0\x83",
  832. "\x82" => "\xE2\x80\x9A",
  833. "\x83" => "\xD1\x93",
  834. "\x84" => "\xE2\x80\x9E",
  835. "\x85" => "\xE2\x80\xA6",
  836. "\x86" => "\xE2\x80\xA0",
  837. "\x87" => "\xE2\x80\xA1",
  838. "\x88" => "\xE2\x82\xAC",
  839. "\x89" => "\xE2\x80\xB0",
  840. "\x8A" => "\xD0\x89",
  841. "\x8B" => "\xE2\x80\xB9",
  842. "\x8C" => "\xD0\x8A",
  843. "\x8D" => "\xD0\x8C",
  844. "\x8E" => "\xD0\x8B",
  845. "\x8F" => "\xD0\x8F",
  846. "\x90" => "\xD1\x92",
  847. "\x91" => "\xE2\x80\x98",
  848. "\x92" => "\xE2\x80\x99",
  849. "\x93" => "\xE2\x80\x9C",
  850. "\x94" => "\xE2\x80\x9D",
  851. "\x95" => "\xE2\x80\xA2",
  852. "\x96" => "\xE2\x80\x93",
  853. "\x97" => "\xE2\x80\x94",
  854. "\x99" => "\xE2\x84\xA2",
  855. "\x9A" => "\xD1\x99",
  856. "\x9B" => "\xE2\x80\xBA",
  857. "\x9C" => "\xD1\x9A",
  858. "\x9D" => "\xD1\x9C",
  859. "\x9E" => "\xD1\x9B",
  860. "\x9F" => "\xD1\x9F",
  861. "\xA0" => "\xC2\xA0",
  862. "\xA1" => "\xD0\x8E",
  863. "\xA2" => "\xD1\x9E",
  864. "\xA3" => "\xD0\x88",
  865. "\xA4" => "\xC2\xA4",
  866. "\xA5" => "\xD2\x90",
  867. "\xA6" => "\xC2\xA6",
  868. "\xA7" => "\xC2\xA7",
  869. "\xA8" => "\xD0\x81",
  870. "\xA9" => "\xC2\xA9",
  871. "\xAA" => "\xD0\x84",
  872. "\xAB" => "\xC2\xAB",
  873. "\xAC" => "\xC2\xAC",
  874. "\xAD" => "\xC2\xAD",
  875. "\xAE" => "\xC2\xAE",
  876. "\xAF" => "\xD0\x87",
  877. "\xB0" => "\xC2\xB0",
  878. "\xB1" => "\xC2\xB1",
  879. "\xB2" => "\xD0\x86",
  880. "\xB3" => "\xD1\x96",
  881. "\xB4" => "\xD2\x91",
  882. "\xB5" => "\xC2\xB5",
  883. "\xB6" => "\xC2\xB6",
  884. "\xB7" => "\xC2\xB7",
  885. "\xB8" => "\xD1\x91",
  886. "\xB9" => "\xE2\x84\x96",
  887. "\xBA" => "\xD1\x94",
  888. "\xBB" => "\xC2\xBB",
  889. "\xBC" => "\xD1\x98",
  890. "\xBD" => "\xD0\x85",
  891. "\xBE" => "\xD1\x95",
  892. "\xBF" => "\xD1\x97",
  893. "\xC0" => "\xD0\x90",
  894. "\xC1" => "\xD0\x91",
  895. "\xC2" => "\xD0\x92",
  896. "\xC3" => "\xD0\x93",
  897. "\xC4" => "\xD0\x94",
  898. "\xC5" => "\xD0\x95",
  899. "\xC6" => "\xD0\x96",
  900. "\xC7" => "\xD0\x97",
  901. "\xC8" => "\xD0\x98",
  902. "\xC9" => "\xD0\x99",
  903. "\xCA" => "\xD0\x9A",
  904. "\xCB" => "\xD0\x9B",
  905. "\xCC" => "\xD0\x9C",
  906. "\xCD" => "\xD0\x9D",
  907. "\xCE" => "\xD0\x9E",
  908. "\xCF" => "\xD0\x9F",
  909. "\xD0" => "\xD0\xA0",
  910. "\xD1" => "\xD0\xA1",
  911. "\xD2" => "\xD0\xA2",
  912. "\xD3" => "\xD0\xA3",
  913. "\xD4" => "\xD0\xA4",
  914. "\xD5" => "\xD0\xA5",
  915. "\xD6" => "\xD0\xA6",
  916. "\xD7" => "\xD0\xA7",
  917. "\xD8" => "\xD0\xA8",
  918. "\xD9" => "\xD0\xA9",
  919. "\xDA" => "\xD0\xAA",
  920. "\xDB" => "\xD0\xAB",
  921. "\xDC" => "\xD0\xAC",
  922. "\xDD" => "\xD0\xAD",
  923. "\xDE" => "\xD0\xAE",
  924. "\xDF" => "\xD0\xAF",
  925. "\xE0" => "\xD0\xB0",
  926. "\xE1" => "\xD0\xB1",
  927. "\xE2" => "\xD0\xB2",
  928. "\xE3" => "\xD0\xB3",
  929. "\xE4" => "\xD0\xB4",
  930. "\xE5" => "\xD0\xB5",
  931. "\xE6" => "\xD0\xB6",
  932. "\xE7" => "\xD0\xB7",
  933. "\xE8" => "\xD0\xB8",
  934. "\xE9" => "\xD0\xB9",
  935. "\xEA" => "\xD0\xBA",
  936. "\xEB" => "\xD0\xBB",
  937. "\xEC" => "\xD0\xBC",
  938. "\xED" => "\xD0\xBD",
  939. "\xEE" => "\xD0\xBE",
  940. "\xEF" => "\xD0\xBF",
  941. "\xF0" => "\xD1\x80",
  942. "\xF1" => "\xD1\x81",
  943. "\xF2" => "\xD1\x82",
  944. "\xF3" => "\xD1\x83",
  945. "\xF4" => "\xD1\x84",
  946. "\xF5" => "\xD1\x85",
  947. "\xF6" => "\xD1\x86",
  948. "\xF7" => "\xD1\x87",
  949. "\xF8" => "\xD1\x88",
  950. "\xF9" => "\xD1\x89",
  951. "\xFA" => "\xD1\x8A",
  952. "\xFB" => "\xD1\x8B",
  953. "\xFC" => "\xD1\x8C",
  954. "\xFD" => "\xD1\x8D",
  955. "\xFE" => "\xD1\x8E",
  956. "\xFF" => "\xD1\x8F",
  957. );
  958. return strtr($string, $transform);
  959. }
  960. function cp1252($string)
  961. {
  962. static $transform = array(
  963. "\xC2\x80" => "\xE2\x82\xAC",
  964. "\xC2\x82" => "\xE2\x80\x9A",
  965. "\xC2\x83" => "\xC6\x92",
  966. "\xC2\x84" => "\xE2\x80\x9E",
  967. "\xC2\x85" => "\xE2\x80\xA6",
  968. "\xC2\x86" => "\xE2\x80\xA0",
  969. "\xC2\x87" => "\xE2\x80\xA1",
  970. "\xC2\x88" => "\xCB\x86",
  971. "\xC2\x89" => "\xE2\x80\xB0",
  972. "\xC2\x8A" => "\xC5\xA0",
  973. "\xC2\x8B" => "\xE2\x80\xB9",
  974. "\xC2\x8C" => "\xC5\x92",
  975. "\xC2\x8E" => "\xC5\xBD",
  976. "\xC2\x91" => "\xE2\x80\x98",
  977. "\xC2\x92" => "\xE2\x80\x99",
  978. "\xC2\x93" => "\xE2\x80\x9C",
  979. "\xC2\x94" => "\xE2\x80\x9D",
  980. "\xC2\x95" => "\xE2\x80\xA2",
  981. "\xC2\x96" => "\xE2\x80\x93",
  982. "\xC2\x97" => "\xE2\x80\x94",
  983. "\xC2\x98" => "\xCB\x9C",
  984. "\xC2\x99" => "\xE2\x84\xA2",
  985. "\xC2\x9A" => "\xC5\xA1",
  986. "\xC2\x9B" => "\xE2\x80\xBA",
  987. "\xC2\x9C" => "\xC5\x93",
  988. "\xC2\x9E" => "\xC5\xBE",
  989. "\xC2\x9F" => "\xC5\xB8"
  990. );
  991. return strtr(utf8_encode($string), $transform);
  992. }
  993. function cp1254($string)
  994. {
  995. static $transform = array(
  996. "\xC2\x80" => "\xE2\x82\xAC",
  997. "\xC2\x82" => "\xE2\x80\x9A",
  998. "\xC2\x83" => "\xC6\x92",
  999. "\xC2\x84" => "\xE2\x80\x9E",
  1000. "\xC2\x85" => "\xE2\x80\xA6",
  1001. "\xC2\x86" => "\xE2\x80\xA0",
  1002. "\xC2\x87" => "\xE2\x80\xA1",
  1003. "\xC2\x88" => "\xCB\x86",
  1004. "\xC2\x89" => "\xE2\x80\xB0",
  1005. "\xC2\x8A" => "\xC5\xA0",
  1006. "\xC2\x8B" => "\xE2\x80\xB9",
  1007. "\xC2\x8C" => "\xC5\x92",
  1008. "\xC2\x91" => "\xE2\x80\x98",
  1009. "\xC2\x92" => "\xE2\x80\x99",
  1010. "\xC2\x93" => "\xE2\x80\x9C",
  1011. "\xC2\x94" => "\xE2\x80\x9D",
  1012. "\xC2\x95" => "\xE2\x80\xA2",
  1013. "\xC2\x96" => "\xE2\x80\x93",
  1014. "\xC2\x97" => "\xE2\x80\x94",
  1015. "\xC2\x98" => "\xCB\x9C",
  1016. "\xC2\x99" => "\xE2\x84\xA2",
  1017. "\xC2\x9A" => "\xC5\xA1",
  1018. "\xC2\x9B" => "\xE2\x80\xBA",
  1019. "\xC2\x9C" => "\xC5\x93",
  1020. "\xC2\x9F" => "\xC5\xB8",
  1021. "\xC3\x90" => "\xC4\x9E",
  1022. "\xC3\x9D" => "\xC4\xB0",
  1023. "\xC3\x9E" => "\xC5\x9E",
  1024. "\xC3\xB0" => "\xC4\x9F",
  1025. "\xC3\xBD" => "\xC4\xB1",
  1026. "\xC3\xBE" => "\xC5\x9F",
  1027. );
  1028. return strtr(utf8_encode($string), $transform);
  1029. }
  1030. function cp1255($string)
  1031. {
  1032. static $transform = array(
  1033. "\x80" => "\xE2\x82\xAC",
  1034. "\x82" => "\xE2\x80\x9A",
  1035. "\x83" => "\xC6\x92",
  1036. "\x84" => "\xE2\x80\x9E",
  1037. "\x85" => "\xE2\x80\xA6",
  1038. "\x86" => "\xE2\x80\xA0",
  1039. "\x87" => "\xE2\x80\xA1",
  1040. "\x88" => "\xCB\x86",
  1041. "\x89" => "\xE2\x80\xB0",
  1042. "\x8B" => "\xE2\x80\xB9",
  1043. "\x91" => "\xE2\x80\x98",
  1044. "\x92" => "\xE2\x80\x99",
  1045. "\x93" => "\xE2\x80\x9C",
  1046. "\x94" => "\xE2\x80\x9D",
  1047. "\x95" => "\xE2\x80\xA2",
  1048. "\x96" => "\xE2\x80\x93",
  1049. "\x97" => "\xE2\x80\x94",
  1050. "\x98" => "\xCB\x9C",
  1051. "\x99" => "\xE2\x84\xA2",
  1052. "\x9B" => "\xE2\x80\xBA",
  1053. "\xA0" => "\xC2\xA0",
  1054. "\xA1" => "\xC2\xA1",
  1055. "\xA2" => "\xC2\xA2",
  1056. "\xA3" => "\xC2\xA3",
  1057. "\xA4" => "\xE2\x82\xAA",
  1058. "\xA5" => "\xC2\xA5",
  1059. "\xA6" => "\xC2\xA6",
  1060. "\xA7" => "\xC2\xA7",
  1061. "\xA8" => "\xC2\xA8",
  1062. "\xA9" => "\xC2\xA9",
  1063. "\xAA" => "\xC3\x97",
  1064. "\xAB" => "\xC2\xAB",
  1065. "\xAC" => "\xC2\xAC",
  1066. "\xAD" => "\xC2\xAD",
  1067. "\xAE" => "\xC2\xAE",
  1068. "\xAF" => "\xC2\xAF",
  1069. "\xB0" => "\xC2\xB0",
  1070. "\xB1" => "\xC2\xB1",
  1071. "\xB2" => "\xC2\xB2",
  1072. "\xB3" => "\xC2\xB3",
  1073. "\xB4" => "\xC2\xB4",
  1074. "\xB5" => "\xC2\xB5",
  1075. "\xB6" => "\xC2\xB6",
  1076. "\xB7" => "\xC2\xB7",
  1077. "\xB8" => "\xC2\xB8",
  1078. "\xB9" => "\xC2\xB9",
  1079. "\xBA" => "\xC3\xB7",
  1080. "\xBB" => "\xC2\xBB",
  1081. "\xBC" => "\xC2\xBC",
  1082. "\xBD" => "\xC2\xBD",
  1083. "\xBE" => "\xC2\xBE",
  1084. "\xBF" => "\xC2\xBF",
  1085. "\xC0" => "\xD6\xB0",
  1086. "\xC1" => "\xD6\xB1",
  1087. "\xC2" => "\xD6\xB2",
  1088. "\xC3" => "\xD6\xB3",
  1089. "\xC4" => "\xD6\xB4",
  1090. "\xC5" => "\xD6\xB5",
  1091. "\xC6" => "\xD6\xB6",
  1092. "\xC7" => "\xD6\xB7",
  1093. "\xC8" => "\xD6\xB8",
  1094. "\xC9" => "\xD6\xB9",
  1095. "\xCB" => "\xD6\xBB",
  1096. "\xCC" => "\xD6\xBC",
  1097. "\xCD" => "\xD6\xBD",
  1098. "\xCE" => "\xD6\xBE",
  1099. "\xCF" => "\xD6\xBF",
  1100. "\xD0" => "\xD7\x80",
  1101. "\xD1" => "\xD7\x81",
  1102. "\xD2" => "\xD7\x82",
  1103. "\xD3" => "\xD7\x83",
  1104. "\xD4" => "\xD7\xB0",
  1105. "\xD5" => "\xD7\xB1",
  1106. "\xD6" => "\xD7\xB2",
  1107. "\xD7" => "\xD7\xB3",
  1108. "\xD8" => "\xD7\xB4",
  1109. "\xE0" => "\xD7\x90",
  1110. "\xE1" => "\xD7\x91",
  1111. "\xE2" => "\xD7\x92",
  1112. "\xE3" => "\xD7\x93",
  1113. "\xE4" => "\xD7\x94",
  1114. "\xE5" => "\xD7\x95",
  1115. "\xE6" => "\xD7\x96",
  1116. "\xE7" => "\xD7\x97",
  1117. "\xE8" => "\xD7\x98",
  1118. "\xE9" => "\xD7\x99",
  1119. "\xEA" => "\xD7\x9A",
  1120. "\xEB" => "\xD7\x9B",
  1121. "\xEC" => "\xD7\x9C",
  1122. "\xED" => "\xD7\x9D",
  1123. "\xEE" => "\xD7\x9E",
  1124. "\xEF" => "\xD7\x9F",
  1125. "\xF0" => "\xD7\xA0",
  1126. "\xF1" => "\xD7\xA1",
  1127. "\xF2" => "\xD7\xA2",
  1128. "\xF3" => "\xD7\xA3",
  1129. "\xF4" => "\xD7\xA4",
  1130. "\xF5" => "\xD7\xA5",
  1131. "\xF6" => "\xD7\xA6",
  1132. "\xF7" => "\xD7\xA7",
  1133. "\xF8" => "\xD7\xA8",
  1134. "\xF9" => "\xD7\xA9",
  1135. "\xFA" => "\xD7\xAA",
  1136. "\xFD" => "\xE2\x80\x8E",
  1137. "\xFE" => "\xE2\x80\x8F",
  1138. );
  1139. return strtr($string, $transform);
  1140. }
  1141. function cp1256($string)
  1142. {
  1143. static $transform = array(
  1144. "\x80" => "\xE2\x82\xAC",
  1145. "\x81" => "\xD9\xBE",
  1146. "\x82" => "\xE2\x80\x9A",
  1147. "\x83" => "\xC6\x92",
  1148. "\x84" => "\xE2\x80\x9E",
  1149. "\x85" => "\xE2\x80\xA6",
  1150. "\x86" => "\xE2\x80\xA0",
  1151. "\x87" => "\xE2\x80\xA1",
  1152. "\x88" => "\xCB\x86",
  1153. "\x89" => "\xE2\x80\xB0",
  1154. "\x8A" => "\xD9\xB9",
  1155. "\x8B" => "\xE2\x80\xB9",
  1156. "\x8C" => "\xC5\x92",
  1157. "\x8D" => "\xDA\x86",
  1158. "\x8E" => "\xDA\x98",
  1159. "\x8F" => "\xDA\x88",
  1160. "\x90" => "\xDA\xAF",
  1161. "\x91" => "\xE2\x80\x98",
  1162. "\x92" => "\xE2\x80\x99",
  1163. "\x93" => "\xE2\x80\x9C",
  1164. "\x94" => "\xE2\x80\x9D",
  1165. "\x95" => "\xE2\x80\xA2",
  1166. "\x96" => "\xE2\x80\x93",
  1167. "\x97" => "\xE2\x80\x94",
  1168. "\x98" => "\xDA\xA9",
  1169. "\x99" => "\xE2\x84\xA2",
  1170. "\x9A" => "\xDA\x91",
  1171. "\x9B" => "\xE2\x80\xBA",
  1172. "\x9C" => "\xC5\x93",
  1173. "\x9D" => "\xE2\x80\x8C",
  1174. "\x9E" => "\xE2\x80\x8D",
  1175. "\x9F" => "\xDA\xBA",
  1176. "\xA0" => "\xC2\xA0",
  1177. "\xA1" => "\xD8\x8C",
  1178. "\xA2" => "\xC2\xA2",
  1179. "\xA3" => "\xC2\xA3",
  1180. "\xA4" => "\xC2\xA4",
  1181. "\xA5" => "\xC2\xA5",
  1182. "\xA6" => "\xC2\xA6",
  1183. "\xA7" => "\xC2\xA7",
  1184. "\xA8" => "\xC2\xA8",
  1185. "\xA9" => "\xC2\xA9",
  1186. "\xAA" => "\xDA\xBE",
  1187. "\xAB" => "\xC2\xAB",
  1188. "\xAC" => "\xC2\xAC",
  1189. "\xAD" => "\xC2\xAD",
  1190. "\xAE" => "\xC2\xAE",
  1191. "\xAF" => "\xC2\xAF",
  1192. "\xB0" => "\xC2\xB0",
  1193. "\xB1" => "\xC2\xB1",
  1194. "\xB2" => "\xC2\xB2",
  1195. "\xB3" => "\xC2\xB3",
  1196. "\xB4" => "\xC2\xB4",
  1197. "\xB5" => "\xC2\xB5",
  1198. "\xB6" => "\xC2\xB6",
  1199. "\xB7" => "\xC2\xB7",
  1200. "\xB8" => "\xC2\xB8",
  1201. "\xB9" => "\xC2\xB9",
  1202. "\xBA" => "\xD8\x9B",
  1203. "\xBB" => "\xC2\xBB",
  1204. "\xBC" => "\xC2\xBC",
  1205. "\xBD" => "\xC2\xBD",
  1206. "\xBE" => "\xC2\xBE",
  1207. "\xBF" => "\xD8\x9F",
  1208. "\xC0" => "\xDB\x81",
  1209. "\xC1" => "\xD8\xA1",
  1210. "\xC2" => "\xD8\xA2",
  1211. "\xC3" => "\xD8\xA3",
  1212. "\xC4" => "\xD8\xA4",
  1213. "\xC5" => "\xD8\xA5",
  1214. "\xC6" => "\xD8\xA6",
  1215. "\xC7" => "\xD8\xA7",
  1216. "\xC8" => "\xD8\xA8",
  1217. "\xC9" => "\xD8\xA9",
  1218. "\xCA" => "\xD8\xAA",
  1219. "\xCB" => "\xD8\xAB",
  1220. "\xCC" => "\xD8\xAC",
  1221. "\xCD" => "\xD8\xAD",
  1222. "\xCE" => "\xD8\xAE",
  1223. "\xCF" => "\xD8\xAF",
  1224. "\xD0" => "\xD8\xB0",
  1225. "\xD1" => "\xD8\xB1",
  1226. "\xD2" => "\xD8\xB2",
  1227. "\xD3" => "\xD8\xB3",
  1228. "\xD4" => "\xD8\xB4",
  1229. "\xD5" => "\xD8\xB5",
  1230. "\xD6" => "\xD8\xB6",
  1231. "\xD7" => "\xC3\x97",
  1232. "\xD8" => "\xD8\xB7",
  1233. "\xD9" => "\xD8\xB8",
  1234. "\xDA" => "\xD8\xB9",
  1235. "\xDB" => "\xD8\xBA",
  1236. "\xDC" => "\xD9\x80",
  1237. "\xDD" => "\xD9\x81",
  1238. "\xDE" => "\xD9\x82",
  1239. "\xDF" => "\xD9\x83",
  1240. "\xE0" => "\xC3\xA0",
  1241. "\xE1" => "\xD9\x84",
  1242. "\xE2" => "\xC3\xA2",
  1243. "\xE3" => "\xD9\x85",
  1244. "\xE4" => "\xD9\x86",
  1245. "\xE5" => "\xD9\x87",
  1246. "\xE6" => "\xD9\x88",
  1247. "\xE7" => "\xC3\xA7",
  1248. "\xE8" => "\xC3\xA8",
  1249. "\xE9" => "\xC3\xA9",
  1250. "\xEA" => "\xC3\xAA",
  1251. "\xEB" => "\xC3\xAB",
  1252. "\xEC" => "\xD9\x89",
  1253. "\xED" => "\xD9\x8A",
  1254. "\xEE" => "\xC3\xAE",
  1255. "\xEF" => "\xC3\xAF",
  1256. "\xF0" => "\xD9\x8B",
  1257. "\xF1" => "\xD9\x8C",
  1258. "\xF2" => "\xD9\x8D",
  1259. "\xF3" => "\xD9\x8E",
  1260. "\xF4" => "\xC3\xB4",
  1261. "\xF5" => "\xD9\x8F",
  1262. "\xF6" => "\xD9\x90",
  1263. "\xF7" => "\xC3\xB7",
  1264. "\xF8" => "\xD9\x91",
  1265. "\xF9" => "\xC3\xB9",
  1266. "\xFA" => "\xD9\x92",
  1267. "\xFB" => "\xC3\xBB",
  1268. "\xFC" => "\xC3\xBC",
  1269. "\xFD" => "\xE2\x80\x8E",
  1270. "\xFE" => "\xE2\x80\x8F",
  1271. "\xFF" => "\xDB\x92",
  1272. );
  1273. return strtr($string, $transform);
  1274. }
  1275. function cp1257($string)
  1276. {
  1277. static $transform = array(
  1278. "\x80" => "\xE2\x82\xAC",
  1279. "\x82" => "\xE2\x80\x9A",
  1280. "\x84" => "\xE2\x80\x9E",
  1281. "\x85" => "\xE2\x80\xA6",
  1282. "\x86" => "\xE2\x80\xA0",
  1283. "\x87" => "\xE2\x80\xA1",
  1284. "\x89" => "\xE2\x80\xB0",
  1285. "\x8B" => "\xE2\x80\xB9",
  1286. "\x8D" => "\xC2\xA8",
  1287. "\x8E" => "\xCB\x87",
  1288. "\x8F" => "\xC2\xB8",
  1289. "\x91" => "\xE2\x80\x98",
  1290. "\x92" => "\xE2\x80\x99",
  1291. "\x93" => "\xE2\x80\x9C",
  1292. "\x94" => "\xE2\x80\x9D",
  1293. "\x95" => "\xE2\x80\xA2",
  1294. "\x96" => "\xE2\x80\x93",
  1295. "\x97" => "\xE2\x80\x94",
  1296. "\x99" => "\xE2\x84\xA2",
  1297. "\x9B" => "\xE2\x80\xBA",
  1298. "\x9D" => "\xC2\xAF",
  1299. "\x9E" => "\xCB\x9B",
  1300. "\xA0" => "\xC2\xA0",
  1301. "\xA2" => "\xC2\xA2",
  1302. "\xA3" => "\xC2\xA3",
  1303. "\xA4" => "\xC2\xA4",
  1304. "\xA6" => "\xC2\xA6",
  1305. "\xA7" => "\xC2\xA7",
  1306. "\xA8" => "\xC3\x98",
  1307. "\xA9" => "\xC2\xA9",
  1308. "\xAA" => "\xC5\x96",
  1309. "\xAB" => "\xC2\xAB",
  1310. "\xAC" => "\xC2\xAC",
  1311. "\xAD" => "\xC2\xAD",
  1312. "\xAE" => "\xC2\xAE",
  1313. "\xAF" => "\xC3\x86",
  1314. "\xB0" => "\xC2\xB0",
  1315. "\xB1" => "\xC2\xB1",
  1316. "\xB2" => "\xC2\xB2",
  1317. "\xB3" => "\xC2\xB3",
  1318. "\xB4" => "\xC2\xB4",
  1319. "\xB5" => "\xC2\xB5",
  1320. "\xB6" => "\xC2\xB6",
  1321. "\xB7" => "\xC2\xB7",
  1322. "\xB8" => "\xC3\xB8",
  1323. "\xB9" => "\xC2\xB9",
  1324. "\xBA" => "\xC5\x97",
  1325. "\xBB" => "\xC2\xBB",
  1326. "\xBC" => "\xC2\xBC",
  1327. "\xBD" => "\xC2\xBD",
  1328. "\xBE" => "\xC2\xBE",
  1329. "\xBF" => "\xC3\xA6",
  1330. "\xC0" => "\xC4\x84",
  1331. "\xC1" => "\xC4\xAE",
  1332. "\xC2" => "\xC4\x80",
  1333. "\xC3" => "\xC4\x86",
  1334. "\xC4" => "\xC3\x84",
  1335. "\xC5" => "\xC3\x85",
  1336. "\xC6" => "\xC4\x98",
  1337. "\xC7" => "\xC4\x92",
  1338. "\xC8" => "\xC4\x8C",
  1339. "\xC9" => "\xC3\x89",
  1340. "\xCA" => "\xC5\xB9",
  1341. "\xCB" => "\xC4\x96",
  1342. "\xCC" => "\xC4\xA2",
  1343. "\xCD" => "\xC4\xB6",
  1344. "\xCE" => "\xC4\xAA",
  1345. "\xCF" => "\xC4\xBB",
  1346. "\xD0" => "\xC5\xA0",
  1347. "\xD1" => "\xC5\x83",
  1348. "\xD2" => "\xC5\x85",
  1349. "\xD3" => "\xC3\x93",
  1350. "\xD4" => "\xC5\x8C",
  1351. "\xD5" => "\xC3\x95",
  1352. "\xD6" => "\xC3\x96",
  1353. "\xD7" => "\xC3\x97",
  1354. "\xD8" => "\xC5\xB2",
  1355. "\xD9" => "\xC5\x81",
  1356. "\xDA" => "\xC5\x9A",
  1357. "\xDB" => "\xC5\xAA",
  1358. "\xDC" => "\xC3\x9C",
  1359. "\xDD" => "\xC5\xBB",
  1360. "\xDE" => "\xC5\xBD",
  1361. "\xDF" => "\xC3\x9F",
  1362. "\xE0" => "\xC4\x85",
  1363. "\xE1" => "\xC4\xAF",
  1364. "\xE2" => "\xC4\x81",
  1365. "\xE3" => "\xC4\x87",
  1366. "\xE4" => "\xC3\xA4",
  1367. "\xE5" => "\xC3\xA5",
  1368. "\xE6" => "\xC4\x99",
  1369. "\xE7" => "\xC4\x93",
  1370. "\xE8" => "\xC4\x8D",
  1371. "\xE9" => "\xC3\xA9",
  1372. "\xEA" => "\xC5\xBA",
  1373. "\xEB" => "\xC4\x97",
  1374. "\xEC" => "\xC4\xA3",
  1375. "\xED" => "\xC4\xB7",
  1376. "\xEE" => "\xC4\xAB",
  1377. "\xEF" => "\xC4\xBC",
  1378. "\xF0" => "\xC5\xA1",
  1379. "\xF1" => "\xC5\x84",
  1380. "\xF2" => "\xC5\x86",
  1381. "\xF3" => "\xC3\xB3",
  1382. "\xF4" => "\xC5\x8D",
  1383. "\xF5" => "\xC3\xB5",
  1384. "\xF6" => "\xC3\xB6",
  1385. "\xF7" => "\xC3\xB7",
  1386. "\xF8" => "\xC5\xB3",
  1387. "\xF9" => "\xC5\x82",
  1388. "\xFA" => "\xC5\x9B",
  1389. "\xFB" => "\xC5\xAB",
  1390. "\xFC" => "\xC3\xBC",
  1391. "\xFD" => "\xC5\xBC",
  1392. "\xFE" => "\xC5\xBE",
  1393. "\xFF" => "\xCB\x99",
  1394. );
  1395. return strtr($string, $transform);
  1396. }
  1397. function utf8_to_cp1252($string)
  1398. {
  1399. static $transform = array(
  1400. "\xE2\x82\xAC" => "\x80",
  1401. "\xE2\x80\x9A" => "\x82",
  1402. "\xC6\x92" => "\x83",
  1403. "\xE2\x80\x9E" => "\x84",
  1404. "\xE2\x80\xA6" => "\x85",
  1405. "\xE2\x80\xA0" => "\x86",
  1406. "\xE2\x80\xA1" => "\x87",
  1407. "\xCB\x86" => "\x88",
  1408. "\xE2\x80\xB0" => "\x89",
  1409. "\xC5\xA0" => "\x8A",
  1410. "\xE2\x80\xB9" => "\x8B",
  1411. "\xC5\x92" => "\x8C",
  1412. "\xC5\xBD" => "\x8E",
  1413. "\xE2\x80\x98" => "\x91",
  1414. "\xE2\x80\x99" => "\x92",
  1415. "\xE2\x80\x9C" => "\x93",
  1416. "\xE2\x80\x9D" => "\x94",
  1417. "\xE2\x80\xA2" => "\x95",
  1418. "\xE2\x80\x93" => "\x96",
  1419. "\xE2\x80\x94" => "\x97",
  1420. "\xCB\x9C" => "\x98",
  1421. "\xE2\x84\xA2" => "\x99",
  1422. "\xC5\xA1" => "\x9A",
  1423. "\xE2\x80\xBA" => "\x9B",
  1424. "\xC5\x93" => "\x9C",
  1425. "\xC5\xBE" => "\x9E",
  1426. "\xC5\xB8" => "\x9F",
  1427. "\xC2\xA0" => "\xA0",
  1428. "\xC2\xA1" => "\xA1",
  1429. "\xC2\xA2" => "\xA2",
  1430. "\xC2\xA3" => "\xA3",
  1431. "\xC2\xA4" => "\xA4",
  1432. "\xC2\xA5" => "\xA5",
  1433. "\xC2\xA6" => "\xA6",
  1434. "\xC2\xA7" => "\xA7",
  1435. "\xC2\xA8" => "\xA8",
  1436. "\xC2\xA9" => "\xA9",
  1437. "\xC2\xAA" => "\xAA",
  1438. "\xC2\xAB" => "\xAB",
  1439. "\xC2\xAC" => "\xAC",
  1440. "\xC2\xAD" => "\xAD",
  1441. "\xC2\xAE" => "\xAE",
  1442. "\xC2\xAF" => "\xAF",
  1443. "\xC2\xB0" => "\xB0",
  1444. "\xC2\xB1" => "\xB1",
  1445. "\xC2\xB2" => "\xB2",
  1446. "\xC2\xB3" => "\xB3",
  1447. "\xC2\xB4" => "\xB4",
  1448. "\xC2\xB5" => "\xB5",
  1449. "\xC2\xB6" => "\xB6",
  1450. "\xC2\xB7" => "\xB7",
  1451. "\xC2\xB8" => "\xB8",
  1452. "\xC2\xB9" => "\xB9",
  1453. "\xC2\xBA" => "\xBA",
  1454. "\xC2\xBB" => "\xBB",
  1455. "\xC2\xBC" => "\xBC",
  1456. "\xC2\xBD" => "\xBD",
  1457. "\xC2\xBE" => "\xBE",
  1458. "\xC2\xBF" => "\xBF",
  1459. "\xC3\x80" => "\xC0",
  1460. "\xC3\x81" => "\xC1",
  1461. "\xC3\x82" => "\xC2",
  1462. "\xC3\x83" => "\xC3",
  1463. "\xC3\x84" => "\xC4",
  1464. "\xC3\x85" => "\xC5",
  1465. "\xC3\x86" => "\xC6",
  1466. "\xC3\x87" => "\xC7",
  1467. "\xC3\x88" => "\xC8",
  1468. "\xC3\x89" => "\xC9",
  1469. "\xC3\x8A" => "\xCA",
  1470. "\xC3\x8B" => "\xCB",
  1471. "\xC3\x8C" => "\xCC",
  1472. "\xC3\x8D" => "\xCD",
  1473. "\xC3\x8E" => "\xCE",
  1474. "\xC3\x8F" => "\xCF",
  1475. "\xC3\x90" => "\xD0",
  1476. "\xC3\x91" => "\xD1",
  1477. "\xC3\x92" => "\xD2",
  1478. "\xC3\x93" => "\xD3",
  1479. "\xC3\x94" => "\xD4",
  1480. "\xC3\x95" => "\xD5",
  1481. "\xC3\x96" => "\xD6",
  1482. "\xC3\x97" => "\xD7",
  1483. "\xC3\x98" => "\xD8",
  1484. "\xC3\x99" => "\xD9",
  1485. "\xC3\x9A" => "\xDA",
  1486. "\xC3\x9B" => "\xDB",
  1487. "\xC3\x9C" => "\xDC",
  1488. "\xC3\x9D" => "\xDD",
  1489. "\xC3\x9E" => "\xDE",
  1490. "\xC3\x9F" => "\xDF",
  1491. "\xC3\xA0" => "\xE0",
  1492. "\xC3\xA1" => "\xE1",
  1493. "\xC3\xA2" => "\xE2",
  1494. "\xC3\xA3" => "\xE3",
  1495. "\xC3\xA4" => "\xE4",
  1496. "\xC3\xA5" => "\xE5",
  1497. "\xC3\xA6" => "\xE6",
  1498. "\xC3\xA7" => "\xE7",
  1499. "\xC3\xA8" => "\xE8",
  1500. "\xC3\xA9" => "\xE9",
  1501. "\xC3\xAA" => "\xEA",
  1502. "\xC3\xAB" => "\xEB",
  1503. "\xC3\xAC" => "\xEC",
  1504. "\xC3\xAD" => "\xED",
  1505. "\xC3\xAE" => "\xEE",
  1506. "\xC3\xAF" => "\xEF",
  1507. "\xC3\xB0" => "\xF0",
  1508. "\xC3\xB1" => "\xF1",
  1509. "\xC3\xB2" => "\xF2",
  1510. "\xC3\xB3" => "\xF3",
  1511. "\xC3\xB4" => "\xF4",
  1512. "\xC3\xB5" => "\xF5",
  1513. "\xC3\xB6" => "\xF6",
  1514. "\xC3\xB7" => "\xF7",
  1515. "\xC3\xB8" => "\xF8",
  1516. "\xC3\xB9" => "\xF9",
  1517. "\xC3\xBA" => "\xFA",
  1518. "\xC3\xBB" => "\xFB",
  1519. "\xC3\xBC" => "\xFC",
  1520. "\xC3\xBD" => "\xFD",
  1521. "\xC3\xBE" => "\xFE",
  1522. "\xC3\xBF" => "\xFF"
  1523. );
  1524. return strtr($string, $transform);
  1525. }
  1526. ?>