์์ ํ์ผ ๋ค์ด๋ฐ๊ณ ๋์ ํ์ผ์ด ํ์ฅ์๊ฐ ๋ฐ๋์๋ค๊ณ ๋์จ์ฆ์.
ํ์ธํด๋ณด๋
htmlspecialchars(): charset `utf8' not supported, assuming utf-8 in
์๋ฌ๊ฐ ๋์์์๋ค.
๋ด์ฅ ํจ์์ ์
htmlspecialchars(
string $string,
int $flags = ENT_QUOTES | ENT_SUBSTITUTE | ENT_HTML401,
?string $encoding = null,
bool $double_encode = true
): string
charset `utf8' ์๋ฌ๊ฐ์๊ฒฝ์ฐ ๋ฒ์ญํด๋ณด๋ฉด ๋ฌธ์์ด ์ ์ด utf8์ง์์ ํ์ง์๋๋ค.
์ด๋ด๊ฒฝ์ฐ ๋ฌธ์์ด์ ์ ์๋ฅผ ํด์ฃผ๋๊ฒ์ด ์ข๋ค.
์์ ์ .
<?php
htmlspecialchars($contents ?? '')
?>
์์ ํ
<?php
htmlspecialchars($contents, ENT_SUBSTITUTE, 'ISO-8859-1');
?>
์ฐธ์กฐ ์ฌ์ดํธ
https://www.php.net/manual/en/function.htmlspecialchars.php
์ค๊ฐ์ ๋ค์ด๊ฐ ENT_SUBSTITUTE ์๋ฏธํ๋๊ฒ์
์ ํจํ์ง ์์ ์ฝ๋ ๋จ์ ์ํ์ค๋ฅผ ์ ๋์ฝ๋ ๋์ฒด ๋ฌธ์ U+FFFD(UTF-8) ๋๋ ๏ฟฝ (๊ทธ๋ ์ง ์์ผ๋ฉด) ๋น ๋ฌธ์์ด์ ๋ฐํํ๋ ๋์ .
utf8์ด๋ ๋น์ด์๋ ๋ฌธ์์ด์ ๋ฐํํด์ฃผ๋์ญํ ์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ์ธ๋ฒ์จฐ $encoding๋ถ๋ถ
encoding
๋ฌธ์๋ฅผ ๋ณํํ ๋ ์ฌ์ฉ๋๋ ์ธ์ฝ๋ฉ์ ์ ์ํ๋ ์ ํ์ ์ธ์์ ๋๋ค.
์๋ต ํ๋ฉด default_charset ๊ตฌ์ฑ ์ต์ encoding์ ๊ฐ์ด ๊ธฐ๋ณธ๊ฐ์ด ๋ฉ๋๋ค .
์ด ์ธ์๋ ๊ธฐ์ ์ ์ผ๋ก ์ ํ ์ฌํญ์ด์ง๋ง ์ฃผ์ด์ง ์ ๋ ฅ์ ๋ํด default_charset ๊ตฌ์ฑ ์ต์ ์ด ์๋ชป ์ค์ ๋ ์ ์๋ ๊ฒฝ์ฐ ์ฝ๋์ ์ฌ๋ฐ๋ฅธ ๊ฐ์ ์ง์ ํ๋ ๊ฒ์ด ์ข์ต๋๋ค .
htmlspecialchars() ์ ์ํฅ์ ๋ฐ๋ ๋ฌธ์ ๊ฐ ์ด๋ฌํ ๋ชจ๋ ์ธ์ฝ๋ฉ์์ ๋์ผํ ์์น๋ฅผ ์ฐจ์งํ๋ฏ๋ก ์ธ์ฝ๋ฉ์ ๋ํด ์์ฒด๊ฐ ์ ํจํ ๊ฒฝ์ฐ ์ด ํจ์์ ๋ชฉ์ ์ ์ํด ์ธ์ฝ๋ฉ ISO-8859-1, ISO-8859-15, UTF-8, cp866, cp1251, cp1252๋ฐ KOI8-R๋ ์ฌ์ค์ ๋์ผ ํฉ๋๋ค.string
๋ค์ ๋ฌธ์ ์งํฉ์ด ์ง์๋ฉ๋๋ค.
encoding์ 'ISO-8859-1'๋ก ํ๋ค.
์์ ํ๊ณ ๋์ ์ ์๋ํ๋ค.
'๊ฐ๋ฐ๋ ธํธ' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
PHP์์ n์ ๋ฐฐ์ ์ฒดํฌํ๋ ๋ฒ |๋ฐฐ์๊ตฌํ๊ธฐ|PHP (0) | 2020.11.24 |
---|
๋๊ธ