Sign in Join
Wiki copytemporary

Revision 1 of 4, by Bart on 11-11-2023. The page as it is now.

$codePage

The global compiler directive

pascal
{$codePage}

indicates how to interpret string literals.

available code pages

The FPC can understand following code pages:

<table> <thead> <tr> <th><p>code page</p></th> <th><p>description</p></th> </tr> </thead> <tbody> <tr> <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> <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> </tr> <tr> <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> <td><p>DOS Latin 1 <a href="https://en.wikipedia.org/wiki/Code_page_850">code page 850</a></p></td> </tr> <tr> <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> <td><p>DOS Latin 2 <a href="https://en.wikipedia.org/wiki/Code_page_852">code page 852</a></p></td> </tr> <tr> <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> <td><p>Hebrew, <a href="https://en.wikipedia.org/wiki/Code_page_856">code page 856</a></p></td> </tr> <tr> <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> <td><p>Cyrillic script, <a href="https://en.wikipedia.org/wiki/Code_page_866">code page 866</a></p></td> </tr> <tr> <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> <td><p>Thai, <a href="https://en.wikipedia.org/wiki/Code_page_874">ISO/IEC 8859‑11</a></p></td> </tr> <tr> <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> <td><p><a href="https://en.wikipedia.org/wiki/Windows-1250">Windows‑1250</a></p></td> </tr> <tr> <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> <td><p>Cyrillic script, <a href="https://en.wikipedia.org/wiki/Windows-1251">Windows‑1251</a></p></td> </tr> <tr> <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> <td><p><a href="https://en.wikipedia.org/wiki/Windows-1252">Windows‑1252</a></p></td> </tr> <tr> <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> <td><p>Greek script, <a href="https://en.wikipedia.org/wiki/Windows-1253">Windows‑1253</a></p></td> </tr> <tr> <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> <td><p>Turkish, <a href="https://en.wikipedia.org/wiki/Windows-1254">Windows‑1254</a></p></td> </tr> <tr> <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> <td><p>Hebrew, <a href="https://en.wikipedia.org/wiki/Windows-1255">Windows‑1255</a></p></td> </tr> <tr> <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> <td><p>Arabic, <a href="https://en.wikipedia.org/wiki/Windows-1256">Windows‑1256</a></p></td> </tr> <tr> <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> <td><p><a href="https://en.wikipedia.org/wiki/Windows-1257">Windows‑1257</a></p></td> </tr> <tr> <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> <td><p>Vietnamese, <a href="https://en.wikipedia.org/wiki/Windows-1258">Windows-1258</a></p></td> </tr> <tr> <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> <td><p>ISO Latin-1, <a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-1">ISO/IEC 8859‑1</a></p></td> </tr> <tr> <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> <td><p><a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-2">ISO/IEC 8859‑2</a></p></td> </tr> <tr> <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> <td><p>Cyrillic script, <a href="https://en.wikipedia.org/wiki/ISO/IEC_8859-5">ISO/IEC 8859‑5</a></p></td> </tr> <tr> <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> <p><br /> </p> <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> <td><p>pseudo code page to switch back to UTF-8</p></td> </tr> </tbody> </table>

The code page can be selected either via a compiler directive or as a command-line parameter:

text
‑Fc…

(where 

text
…

is one of the code page names listed above).

use

Since FPC 3.0.0 every [[Ansistring|

delphi
ANSIString

]] is associated with a CP.

see also


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.