1449
Comment:
|
1823
|
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.)