рдореИрдВ UTF-8 рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╕рд╛рдЗрдЯ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗред
- рдЙрдкрд░реЛрдХреНрдд рдЧреЛрдкрдиреАрдпрддрд╛ рдореЗрдВ MySQL рдбреЗрдЯрд╛рдмреЗрд╕
- Mbstring рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
- Mbstring рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
- PHP рдореЗрдВ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
- рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП htmlentities ()
- рд╣реЗрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
- рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рддрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
1. рдЙрдкрд░реЛрдХреНрдд рдЧреЛрдкрдиреАрдпрддрд╛ рдореЗрдВ MySQL рдбреЗрдЯрд╛рдмреЗрд╕
рдпрджрд┐ рд╕рд╛рдЗрдЯ рдХреЛ UTF-8 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рддреЛ UTF-8 рдореЗрдВ рд╕рдм рдХреБрдЫ рдбреЗрдЯрд╛рдмреЗрд╕ рдореЗрдВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдХрд╛рдлреА рддрд╛рд░реНрдХрд┐рдХ рд╣реИред рд╣рдо рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ:
CREATE DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;
рдХрд┐рд╕реА рдореМрдЬреВрджрд╛ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП:
ALTER DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;
рдЗрд╕ рддрд░рд╣ рдХреА рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреЗ рд▓рд┐рдП:
ALTER TABLE tbl_name
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
;
2. mbstring рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
рд╡рд┐рдВрдбреЛрдЬ
рд▓рд┐рдирдХреНрд╕ (рдЙрдкрд░реЛрдХреНрдд рдЧреЛрдкрдиреАрдпрддрд╛ рдореЗрдВ рдбреЗрдмрд┐рдпрди): # рдПрдкреНрдЯреАрдЯреНрдпреВрдб php-mbstring рд╕реНрдерд╛рдкрд┐рдд рдХрд░рддрд╛ рд╣реИ
3. mbstring рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
рд╣рдо php.ini , httpd.conf рдпрд╛ .htaccess рдореЗрдВ рдпрд╛рдж рдХрд░рддреЗ рд╣реИрдВ ( httpd.conf рдпрд╛ .htaccess рдХреЗ рд▓рд┐рдП php_value рджреЗрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╛рдж рд░рдЦреЗрдВ)ред
mbstring.language = Neutral ; Set default language to Neutral(UTF-8) (default)
mbstring.internal_encoding = UTF-8 ; Set default internal encoding to UTF-8
mbstring.encoding_translation = On ; HTTP input encoding translation is enabled
mbstring.http_input = auto ; Set HTTP input character set dectection to auto
mbstring.http_output = UTF-8 ; Set HTTP output encoding to UTF-8
mbstring.detect_order = auto ; Set default character encoding detection order to auto
mbstring.substitute_character = none ; Do not print invalid characters
default_charset = UTF-8 ; Default character set for auto content type header
4. PHP рдореЗрдВ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рдлрд╝рдВрдХреНрд╢рдВрд╕ рд╕реЗ рдирд┐рдкрдЯрдирд╛
рдпрд╣рд╛рдВ рдЙрди рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рджреА рдЧрдИ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЖрдкрдХреЛ рдЕрдкрдиреА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рдареАрдХ рд╕реЗ рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ:
рдореЗрд▓ () | mb_send_mail () |
рд╕реНрдЯреНрд░рд▓реЗрди () | mb_strlen () |
рд╕реНрдЯреНрд░реИрдкреНрд╕ () | mb_strpos () |
рд╕реНрдЯреНрд░реИрдкреНрд╕ () | mb_strrpos () |
рдкрджрд╛рд░реНрде () | mb_substr () |
рд╕реНрдЯреНрд░реЗрдЯреЛрд▓реЛрд╡рд░ () | mb_strtolower () |
Strtoupper () | mb_strtoupper () |
substr_count () | mb_substr_count () |
ereg () | mb_ereg () |
реЗрд░реЗрдЧреА () | mb_eregi () |
ereg_replace () | mb_ereg_replace () |
eregi_replace () | mb_eregi_replace () |
рд╡рд┐рднрд╛рдЬрди () | mb_split () |
5. рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП htmlentities ()
Php.net рдХреЗ рд╕рд╛рде рд╕рд░рд▓ рдкреНрд▓реЗрд╕рд╣реЛрд▓реНрдбрд░ рдлрд╝рдВрдХреНрд╢рдиред рд╕рд░рд▓ рдЧреНрд░рдВрдереЛрдВ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
/**
* Multibyte equivalent for htmlentities() [lite version :)]
*
* @param string $str
* @param string $encoding
* @return string
**/
function mb_htmlentities($str, $encoding = 'utf-8') {
mb_regex_encoding($encoding);
$pattern = array('<', '>', '"', '\'');
$replacement = array('<', '>', '"', ''');
for ($i=0; $i<sizeof($pattern); $i++) {
$str = mb_ereg_replace($pattern[$i], $replacement[$i], $str);
}
return $str;
}
6. рд╣реЗрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
рд╕рдм рдХреБрдЫ рд╕рд░рд▓ рд╣реИред рдЗрд╕рдореЗрдВ рдХреЛрдИ рдкрд░рд┐рд╡рд░реНрддрди рдХрд░реЗрдВ:
header('Content-Type: text/html; charset=UTF-8');
7. рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рддрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ
рдЖрдкрдХреЛ рд╕рднреА-рд╕рднреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП =)
рдЪреАрдЯ рд╢реАрдЯ, рд▓реЗрдЦ рдирд╣реАрдВред