Differences between revisions 6 and 7
Revision 6 as of 2007-05-28 14:22:20
Size: 1449
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 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";'
Line 9: Line 9:
- $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)
 * $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 16: Line 16:
- the page encoding of index.php is determined by $AC->settings->encoding  * the page encoding of index.php, options.php and change_options.php is determined by $AC->settings->encoding
Line 19: Line 19:
- Texts from text.php are utf-8 decoded by $AC->get_text()  * 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)