UTF-8 рд╕рдВрдХреНрд░рдордг рдзреЛрдЦрд╛ рд╢реАрдЯ

UTF-8 рдкрд░ рдиреЛрдбреНрдпреВрд▓: X рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рдПрдХ рд╕рд╛рдЗрдЯ рд╣реИ, рдЬрд┐рд╕реЗ UTF-8 рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ

рдореИрдВ UTF-8 рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХреА рдЬрд╛рдиреЗ рд╡рд╛рд▓реА рдПрдХ рдЫреЛрдЯреА рд╕реВрдЪреА рддреИрдпрд╛рд░ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рддрд╛рдХрд┐ рд╕рд╛рдЗрдЯ рд╕рд╣реА рддрд░реАрдХреЗ рд╕реЗ рдХрд╛рдо рдХрд░реЗред

  1. рдЙрдкрд░реЛрдХреНрдд рдЧреЛрдкрдиреАрдпрддрд╛ рдореЗрдВ MySQL рдбреЗрдЯрд╛рдмреЗрд╕
  2. Mbstring рд╕реНрдерд╛рдкрд┐рдд рдХрд░реЗрдВ
  3. Mbstring рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди
  4. PHP рдореЗрдВ рдЕрд╕реБрд░рдХреНрд╖рд┐рдд рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдирд╛
  5. рдорд▓реНрдЯреАрдмрд╛рдЗрдЯ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕ рдХреЗ рд▓рд┐рдП htmlentities ()
  6. рд╣реЗрдбрд░ рдХреА рд╕рд╛рдордЧреНрд░реА-рдкреНрд░рдХрд╛рд░ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдирд╛
  7. рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рддрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ








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. рдмрд╛рдЗрдирд░реА рдлрд╝рд╛рдЗрд▓реЛрдВ рдФрд░ рддрд╛рд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХрд░реЗрдВ



рдЖрдкрдХреЛ рд╕рднреА-рд╕рднреА рдХреЛ рдлрд┐рд░ рд╕реЗ рдЬреЛрдбрд╝рдирд╛ рд╣реЛрдЧрд╛ рдФрд░ рдХреБрдЫ рднреА рдирд╣реАрдВ рднреВрд▓рдирд╛ рдЪрд╛рд╣рд┐рдП =)



рдЪреАрдЯ рд╢реАрдЯ, рд▓реЗрдЦ рдирд╣реАрдВред



All Articles