Size: 321
Comment:
|
Size: 1819
Comment:
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
= CompleteSearch HowTo = | = 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 use mb_strtolower (instead of strtolower) with parameter $AC->settings->encoding to enable utf-8 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. If the encoding is not UTF-8 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) |
Line 5: | Line 26: |
Requires extension mbstring (for functions like mb_strtolower). Following line require in php.ini | Requires extension mbstring (for functions like mb_strtolower). Following line required in php.ini |
Line 8: | Line 29: |
extension mbstring | In windows: extension=php_mbstring.dll or in linux: extension=php_mbstring.so |
Line 12: | Line 37: |
== Texts in text.php are now UTF-8 encoded (23May07 Markus) == |
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 use mb_strtolower (instead of strtolower) with parameter $AC->settings->encoding to enable utf-8
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.
If the encoding is not UTF-8 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)
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.)