簡體   English   中英

如何使用 PDO php 和 mysql 正確插入非英文字符

[英]How to properly insert non english characters using PDO php and mysql

我正在嘗試利用 PHP Pdo 和 Z81C3B080DAD7347DE10E09 將韓語字符插入 mysql 當我插入字符 다시 말해 주세요它顯示?? ?? ??? mysql 數據庫內

這是我創建表的方式

create table base_tab (id int primary key auto_increment, content text, username varchar(20)) CHARACTER SET utf8 COLLATE utf8_unicode_ci;

這是代碼

$db = new PDO ('mysql:host=localhost;dbname=mydb_test;charset=utf8', 
    'root', // username
    ''// password

);

$timer =  time();
$statement = $db->prepare('INSERT INTO base_tab
(content,username)
 
                          values
(:content,:username)');

$statement->execute(array( 

':content' => '다시 말해 주세요',
':username' => 'ann'
));


if($statement){

echo "success";
}else{

echo "failed";

}

在創建數據庫、表或列時,您需要啟用 CJK 和 select 各種選項之一。

文檔

Korean使用

  1. euckr character set

Japanese使用

  1. sjis character set
  2. ujis character set
  3. cp932 character set

適合Chinese使用

  1. big5 character set

顯示當前設置是什么:

SHOW VARIABLES LIKE 'char%';

我試圖重復你的問題,所以我完成了以下步驟,但沒有遇到任何問題:

1.使用mydb_test名稱和utf8_general_ci字符集創建一個新數據庫:
在此處輸入圖像描述

2.復制您的代碼並執行,返回“成功”並正確插入數據在此處輸入圖像描述

所以,我認為重點是創建時需要為utf8_general_ci的數據庫字符集:)

編輯:創建表時將utf8_unicode_ci更改為utf8_general_ci ,應該是這樣的:

create table base_tab (id int primary key auto_increment, content text, username varchar(20)) CHARACTER SET utf8 COLLATE utf8_general_ci;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM