[κ³Όμ ] 02μ£Όμ°¨(1) (μ±μ νμΈ νμ΄μ§) μμ λ³Έ (νκΈ μ€λ₯ ν΄κ²°)
λ°κ²¬λ μ€λ₯
κΈ°μ‘΄μ νμ΄μ§λ₯Ό μ μν λ, μ
λ ₯μ λνμ¬ 'νκΈ' μΈ κ²½μ°λ₯Ό κ³ λ €νμ§ μκ³ 'μμ΄' μ
λ ₯λ§ μκ°νκ³ μ μ
μ€ν°λ λ©€λ² μ€, νκΈ μ
λ ₯ μλ¨, νκΈ κΉ¨μ§ νμ λ±μ΄ λ°μ νμλ€λ μ΄μΌκΈ°κ° λμ΄
νκΈμ μΆκ°λ‘ ν
μ€νΈ
- νκΈμ phpmyadmin μμ score_tableμ μΆκ°λ‘ μ½μ
- db λ΄λΆμμ SQL query
- ( SELECT * FROM `score_table` WHERE name = 'μ΄μ€μ½' ) μΌλ‘ μ§μ κ²°κ³Ό
- μμ κ°μ΄ μ μ°Ύμμ νμΈν μ μμμ
κ·Έλ¬λ μ¬κΈ°μ μ€λ₯ λ°μ !!
- DBμ λ°μ΄ν°κ° μ‘΄μ¬ν¨μλ λΆκ΅¬νκ³ ν΄λΉ μ λ³΄κ° μμμ μΆλ ₯
- μ λ³΄κ° μμμ μΆλ ₯νλ κ²½μ°
score.php
$sql = "select * from score_table where name='{$_GET['student']}'";
$result = mysqli_query($db_conn, $sql);
$row = mysqli_fetch_array($result);
$student_name = $row['name'];
$student_score = $row['score'];
if(isset($student_name)){
echo "<font size = 6>" ."$student_name νμμ μ μλ $student_score μ
λλ€." ."</font>";
}else{
if(isset($_GET['student'])){
echo "<font size = 6>" ."{$_GET['student']} νμμ μ 보λ μμ΅λλ€." ."</font>";
}
}
- $student_name μ $_GET['student'] κ³Ό μΌμΉνλ μ λ³΄κ° μλ κ²½μ°
- BUT, DBμλ ν΄λΉ μ΄λ¦μ΄ μ‘΄μ¬.
- μ¦, νκΈμ μ λλ‘ λ°μλ€μ΄μ§ λͺ»νλ€λ κ².
μμλλ μ€λ₯μ μμΈ
- νκΈμ κ²½μ° utf-8 νΉμ euc-krλ‘λ§ μΈμ κ°λ₯
- μΈμ½λ©μ΄ μ λλ‘ λμ§ μμλ€κ³ λ³Ό μ μμ
νκΈ μΈμ½λ© μ€λ₯λ‘ μΈν΄ λ°μνλ λ¬Έμ
- SELECT μ νκΈμ΄ μ λλ‘ μ λ ₯λμ§ μλ κ²½μ°
- INSERT μ νκΈμ΄ κΉ¨μ Έμ λ€μ΄κ°λ κ²½μ°
μλν΄λ³Έ ν΄κ²° λ°©μλ€
- <head> μμ utf-8λ‘ μ€μ
- <meta charset="utf-8">
- κΈΈκ² μ°λ©΄ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <?php ?> μμ header("Content-Type:text/html;charset=utf-8"); μΆκ°
- form λ©μλμ utf-8 μΆκ°
- <form method="post" action=" " accept-charset="utf-8">
- php μμ db μ°κ²° μ§νμ λ€μ 쿼리 μ€ν
- set names utf8;
- ν΄λΉ λ°©λ²μΌλ‘ ν΄κ²°μ΄ μλλ κ²½μ°(νκΈμ΄ μ¬μ ν κΉ¨μ§λ€λ©΄) λ€μ 쿼리 μ€ν
- set session character_set_connection = utf8;
- set session character_set_results = utf8;
- set session character_set_client = utf8;
/etc/mysql/my.cnf νμΌ μμ - my.cnf νμΌμ μ°Ύμ μ μμμ- [mysqld] ꡬ문 μλμͺ½μ μΈμ½λ© μ€μ μ μΆκ°
- collation-server = utf8_unicode_ci
- default-character-set = utf8
- character-set-server = utf8
- init_connect = set collation_connection = utf8_unicode_ci
- init_connect = set names utf8
- [mysqld] ꡬ문 μλμͺ½μ μΈμ½λ© μ€μ μ μΆκ°
- /etc/php/8.1/cli/php.ini νμΌ μμ
- default_charset = "EUC-KR" λ‘ μμ
- mysqli_query λ‘ utf-8 μ€μ
- mysqli_query($conn, "set session character_set_connection=utf8;");
- mysqli_query($conn, "set session character_set_results=utf8;");
- mysqli_query($conn, "set session character_set_client=utf8;");
- etc... μμ κ°μ μ¬λ¬κ°μ§λ₯Ό μλ νμμΌλ λͺ¨λ μ λλ‘ λμνμ§ μμ
- INSERT μ κΉ¨μ§ νμμ λν΄μλ μμ λ°©λ²λ€ μ€ ν΄κ²° λ μ μμ
- νμ§λ§, λ°μν λ¬Έμ κ° SELECT μ μΈμ½λ© λ¬Έμ μκΈ° λλ¬Έμ μμ λ°©λ²λ‘λ ν΄κ²°μ΄ μλμμ
ν΄κ²° λ°©λ²
- κ²°κ΅ μ°Ύμμ μ±κ³΅ν λ¨ νμ€μ μ½λ.
- λ€λ₯Έ λ°©λ²λ μμ μλ μμΌλ μ΄ μ½λλ‘ ν΄κ²°μ΄ λμμ
db_connection.php
<?php
define('DB_SERVER', 'localhost');
define('DB_USERNAME', '*****');
define('DB_PASSWORD', '***********');
define('DB_NAME', 'score');
$db_conn = mysqli_connect(DB_SERVER, DB_USERNAME, DB_PASSWORD, DB_NAME);
//echo $db_conn ->character_set_name(); # latin1
$db_conn -> set_charset("utf8");
//echo $db_conn ->character_set_name(); # utf8
?>
- $db_conn -> set_charset("utf8");
- ( -> ) νμ΄νμ°μ°μ
- κΉ¨λ¬μ μ¬μ€, μ°μ μ ν΄μΌν λ°©ν₯μ±
- 무ν±λκ³ μ΄κ²μ κ² λμ
ν΄λ³΄λ κ²μ΄ μλκ³ μ°μ μ΄λ€ ννλ‘ μΈμ½λ© λμ΄μλμ§ μ°μ νμΈν΄μΌ ν¨
- echo $db_conn ->character_set_name(); λ₯Ό μ΄μ©νμ¬ μΈμ½λ© νμμ νμΈ κ°λ₯
- μ°μ μλ λ€μ΄κ°λ νμμ νμΈν κ²°κ³Ό Latin1 μΌλ‘ λ€μ΄κ°λ κ²μ νμΈ
- mysqlμ charater set κΈ°λ³Έ μ€μ , encoding μ΄κΈ°κ°μ΄ latin1μΌλ‘ μ€μ λμ΄ μλ€κ³ ν¨
- μμ μΈμ½λ© νμμ΄ utf-8μ΄ μλμκΈ° λλ¬Έμ νκΈμ΄ μ λλ‘ λμνμ§ μμ κ² !!
- $db_conn -> set_charset("utf8"); μ μ΄μ©νμ¬ utf-8λ‘ λ³νν κ²°κ³Ό
- utf8λ‘ λ°λ κ²μ νμΈν μ μμμ
- μ°μ μλ λ€μ΄κ°λ νμμ νμΈν κ²°κ³Ό Latin1 μΌλ‘ λ€μ΄κ°λ κ²μ νμΈ
- echo $db_conn ->character_set_name(); λ₯Ό μ΄μ©νμ¬ μΈμ½λ© νμμ νμΈ κ°λ₯
- 무ν±λκ³ μ΄κ²μ κ² λμ
ν΄λ³΄λ κ²μ΄ μλκ³ μ°μ μ΄λ€ ννλ‘ μΈμ½λ© λμ΄μλμ§ μ°μ νμΈν΄μΌ ν¨
μμ λ³Έ κ²°κ³Ό
- μ λλ‘ DBμ λ΄μ©μ λ°μμ€λ κ²μ λ³Ό μ μμμ
νκΈ°
λ¬Έμ κ° λ°μνμμ λ 무ν±λκ³ μ°Ύλλ€κ³ ν΄κ²°λλ κ²μ΄ μλμ λ€μκΈ κΉ¨λ¬μ.
μ°μ λ¬Έμ κ° λ°μνλ©΄, μ΄λ€ λ¬Έμ μΈμ§, 무μμ΄ λ¬Έμ μΈμ§ λ±μ μ°Ύμλ΄λ κ²μ΄ μ€μ.
λν μΈμ½λ© λ¬Έμ μ κ°μ΄ μ΄λ€ νμμΈμ§ νμΈμ΄ κ°λ₯ν κ²½μ°λ€μμμ κ°μ΄ μ°μ νμ¬ μν© νμ μ΄ μ€μ.
Reference
μ§λ¬Έ νμ, μμ λ° λ³΄μμ λν μ§μ νμ