Differences between revisions 5 and 7 (spanning 2 versions)
Revision 5 as of 2007-05-28 14:06:51
Size: 778
Editor: dslb-084-058-237-229
Comment:
Revision 7 as of 2007-05-28 14:33:09
Size: 1823
Editor: dslb-084-058-237-229
Comment:
Deletions are marked like this. Additions are marked like this.
Line 3: Line 3:
In general we use UTF-8 as default character encoding. In general we use the multibyte character encoding UTF-8 as default encoding with the follwing consequences:
Line 5: Line 5:
The AC->settings->encoding is 'utf-8' unless overriden in autocomplete_config.php
The text.php is saved as UTF-8
The css file uses '@charset "utf-8";'
 * The $AC->settings->encoding is 'utf-8' unless overriden in autocomplete_config.php
 * The text.php is saved as UTF-8
 * The css file uses '@charset "utf-8";'

 * $AC->settings->capitals is utf-8 encoded
 * In ajax.php we utf-8 encode the query string if $AC->settings->encoding is utf-8 and the charset of content_type is not utf-8 (means the request is sent in a non-utf-8 type)
Line 10: Line 13:
The default encoding can be overriden by $config->encoding in the autocomplete_config.php.

To handle non-utf-8 encoding we do the following:
 * the page encoding of index.php, options.php and change_options.php is determined by $AC->settings->encoding
( <meta http-equiv="content-type" content="text/html;charset=<?php echo $AC->settings->encoding; ?>">
)
 * Texts from text.php are utf-8 decoded by $AC->get_text()
 * The way to write the javascript code in function javascript_rhs (in generate_javascript.php) depends on encoding: if no utf encoding is given the javascript is generated url encoded (this is not necessary if utf-8 is used)
 * We use mb_strtolower (instead of strtolower) with parameter $AC->settings->encoding to enable utf-8

About character encoding

In general we use the multibyte character encoding UTF-8 as default encoding with the follwing consequences:

  • The $AC->settings->encoding is 'utf-8' unless overriden in autocomplete_config.php

  • The text.php is saved as UTF-8
  • The css file uses '@charset "utf-8";'
  • $AC->settings->capitals is utf-8 encoded

  • In ajax.php we utf-8 encode the query string if $AC->settings->encoding is utf-8 and the charset of content_type is not utf-8 (means the request is sent in a non-utf-8 type)

We have to support other encodings like iso-8859-1 because some collections are not utf-8 encoded. The default encoding can be overriden by $config->encoding in the autocomplete_config.php.

To handle non-utf-8 encoding we do the following:

  • the page encoding of index.php, options.php and change_options.php is determined by $AC->settings->encoding

( <meta http-equiv="content-type" content="text/html;charset=<?php echo $AC->settings->encoding; ?>"> )

  • Texts from text.php are utf-8 decoded by $AC->get_text()

  • The way to write the javascript code in function javascript_rhs (in generate_javascript.php) depends on encoding: if no utf encoding is given the javascript is generated url encoded (this is not necessary if utf-8 is used)
  • We use mb_strtolower (instead of strtolower) with parameter $AC->settings->encoding to enable utf-8

UTF-8 lowercase in PHP (23May07 Markus)

Requires extension mbstring (for functions like mb_strtolower). Following line required in php.ini

In windows:
extension=php_mbstring.dll

or in linux:
extension=php_mbstring.so

(On geek, the mb_... functions were available by default, on Markus's laptop the line above had to be added.)

Texts in text.php are now UTF-8 encoded (23May07 Markus)

CompleteSearch: FrontPage (last edited 2017-03-19 13:30:19 by Hannah Bast)