Sign in Join
Wiki copytemporary

$codePage: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: $codePage

OldNewLine
1+The [[global compiler directives|global compiler directive]]
2+
3+``` pascal
4+{$codePage}
5+```
6+
7+indicates how to interpret [[string]] literals.
8+
9+## available code pages
10+
11+The [[FPC]] can understand following code pages:
12+
13+<table>
14+<thead>
15+<tr>
16+<th><p>code page</p></th>
17+<th><p>description</p></th>
18+</tr>
19+</thead>
20+<tbody>
21+<tr>
22+<td><div class="sourceCode" id="cb1"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb1-1"><a href="#cb1-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP437}</span></span></code></pre></div></td>
23+<td><p>Original IBM PC or DOS Latin US <a href="https://en.wikipedia.org/wiki/Code_page_437">code page 437</a></p></td>
24+</tr>
25+<tr>
26+<td><div class="sourceCode" id="cb2"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb2-1"><a href="#cb2-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP850}</span></span></code></pre></div></td>
27+<td><p>DOS Latin 1 <a href="https://en.wikipedia.org/wiki/Code_page_850">code page 850</a></p></td>
28+</tr>
29+<tr>
30+<td><div class="sourceCode" id="cb3"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb3-1"><a href="#cb3-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP852}</span></span></code></pre></div></td>
31+<td><p>DOS Latin 2 <a href="https://en.wikipedia.org/wiki/Code_page_852">code page 852</a></p></td>
32+</tr>
33+<tr>
34+<td><div class="sourceCode" id="cb4"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb4-1"><a href="#cb4-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP856}</span></span></code></pre></div></td>
35+<td><p>Hebrew, <a href="https://en.wikipedia.org/wiki/Code_page_856">code page 856</a></p></td>
36+</tr>
37+<tr>
38+<td><div class="sourceCode" id="cb5"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb5-1"><a href="#cb5-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP866}</span></span></code></pre></div></td>
39+<td><p>Cyrillic script, <a href="https://en.wikipedia.org/wiki/Code_page_866">code page 866</a></p></td>
40+</tr>
41+<tr>
42+<td><div class="sourceCode" id="cb6"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb6-1"><a href="#cb6-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP874}</span></span></code></pre></div></td>
43+<td><p>Thai, <a href="https://en.wikipedia.org/wiki/Code_page_874">ISO/IEC 8859‑11</a></p></td>
44+</tr>
45+<tr>
46+<td><div class="sourceCode" id="cb7"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb7-1"><a href="#cb7-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1250}</span></span></code></pre></div></td>
47+<td><p><a href="https://en.wikipedia.org/wiki/Windows-1250">Windows‑1250</a></p></td>
48+</tr>
49+<tr>
50+<td><div class="sourceCode" id="cb8"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb8-1"><a href="#cb8-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1251}</span></span></code></pre></div></td>
51+<td><p>Cyrillic script, <a href="https://en.wikipedia.org/wiki/Windows-1251">Windows‑1251</a></p></td>
52+</tr>
53+<tr>
54+<td><div class="sourceCode" id="cb9"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb9-1"><a href="#cb9-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1252}</span></span></code></pre></div></td>
55+<td><p><a href="https://en.wikipedia.org/wiki/Windows-1252">Windows‑1252</a></p></td>
56+</tr>
57+<tr>
58+<td><div class="sourceCode" id="cb10"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb10-1"><a href="#cb10-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1253}</span></span></code></pre></div></td>
59+<td><p>Greek script, <a href="https://en.wikipedia.org/wiki/Windows-1253">Windows‑1253</a></p></td>
60+</tr>
61+<tr>
62+<td><div class="sourceCode" id="cb11"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb11-1"><a href="#cb11-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1254}</span></span></code></pre></div></td>
63+<td><p>Turkish, <a href="https://en.wikipedia.org/wiki/Windows-1254">Windows‑1254</a></p></td>
64+</tr>
65+<tr>
66+<td><div class="sourceCode" id="cb12"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb12-1"><a href="#cb12-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1255}</span></span></code></pre></div></td>
67+<td><p>Hebrew, <a href="https://en.wikipedia.org/wiki/Windows-1255">Windows‑1255</a></p></td>
68+</tr>
69+<tr>
70+<td><div class="sourceCode" id="cb13"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb13-1"><a href="#cb13-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1256}</span></span></code></pre></div></td>
71+<td><p>Arabic, <a href="https://en.wikipedia.org/wiki/Windows-1256">Windows‑1256</a></p></td>
72+</tr>
73+<tr>
74+<td><div class="sourceCode" id="cb14"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb14-1"><a href="#cb14-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1257}</span></span></code></pre></div></td>
75+<td><p><a href="https://en.wikipedia.org/wiki/Windows-1257">Windows‑1257</a></p></td>
76+</tr>
77+<tr>
78+<td><div class="sourceCode" id="cb15"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb15-1"><a href="#cb15-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage CP1258}</span></span></code></pre></div></td>
79+<td><p>Vietnamese, <a href="https://en.wikipedia.org/wiki/Windows-1258">Windows-1258</a></p></td>
80+</tr>
81+<tr>
82+<td><div class="sourceCode" id="cb16"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb16-1"><a href="#cb16-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage 8859-1}</span></span></code></pre></div></td>
83+<td><p>ISO Latin-1, <a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-1">ISO/IEC 8859‑1</a></p></td>
84+</tr>
85+<tr>
86+<td><div class="sourceCode" id="cb17"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb17-1"><a href="#cb17-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage 8859-2}</span></span></code></pre></div></td>
87+<td><p><a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-2">ISO/IEC 8859‑2</a></p></td>
88+</tr>
89+<tr>
90+<td><div class="sourceCode" id="cb18"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb18-1"><a href="#cb18-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage 8859-5}</span></span></code></pre></div></td>
91+<td><p>Cyrillic script, <a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-5">ISO/IEC 8859‑5</a></p></td>
92+</tr>
93+<tr>
94+<td><div class="sourceCode" id="cb19"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb19-1"><a href="#cb19-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage UTF-8}</span></span></code></pre></div>
95+<p><br />
96+</p>
97+<div class="sourceCode" id="cb20"><pre class="sourceCode pascal"><code class="sourceCode pascal"><span id="cb20-1"><a href="#cb20-1" aria-hidden="true" tabindex="-1"></a><span class="ot">{$codePage UTF8}</span></span></code></pre></div></td>
98+<td><p>pseudo code page to switch back to UTF-8</p></td>
99+</tr>
100+</tbody>
101+</table>
102+
103+The code page can be selected either via a compiler directive or as a command-line parameter:
104+
105+```text
106+‑Fc…
107+```
108+
109+(where 
110+
111+```text
112+…
113+```
114+
115+is one of the code page names listed above).
116+
117+## use
118+
119+Since [[FPC New Features 3.0.0|FPC 3.0.0]] every \[\[Ansistring\|
120+
121+```delphi
122+ANSIString
123+```
124+
125+\]\] is associated with a CP.
126+
127+## see also
128+
129+- [[FPC Unicode support|FPC Unicode support § “source file code page”]]
130+- \[<https://freepascal.org/docs-html/current/prog/progsu88.html> “
131+ ```text
132+ $CODEPAGE
133+ ```
134+
135+
136+ Set the source codepage”\]
137+- [[Language Codes]]
138+
139+---
140+*From the Free Pascal wiki, page "$codePage", as it stood on 2023-11-11 after a change by Bart, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
141+Category: Global compiler directives

Back to history