[英]utf-8 character set not working in php file
我試圖在我的數據庫中插入漢語/漢語字符,但我只得到了???? 當我做。 iv在線查看大量信息,但沒有解決方案。 當我在數據庫中運行帶有字符漢語/漢語的插入查詢時,它可以工作,所以我知道我的數據庫已針對utf8進行了設置...這是我在PHP文件中所做的事情……這將是任何幫助。不勝感激。
<?php
include 'config.php';
header('Content-Type:text/html; charset=UTF-8');
mysqli_query("SET NAMES utf8");
mysqli_set_charset('utf8');
// check for required fields
if (isset($_POST['name'])) {
$name = mysqli_real_escape_string($link, $_POST['name']);
$result = mysqli_query($link, "INSERT INTO scores(`id` , `name`)VALUES(NULL, '$name'");
您需要確保數據庫以UTF-8模式運行。 您需要在表本身上執行此操作。 您說過您插入了字符串,但是是否檢查了一下是否可以讀出來? 正如我在下面的評論中所指出的那樣,您應該確定要連接到啟用了UTF-8的MySQL。 在下面的答案中有更多信息:
此外,請確保PHP文件本身以UTF-8格式保存。 最后但並非最不重要的一點是,確保將HTML頁面正確設置為使用utf-8:
這是我所依賴的舊備忘單。 請記住,某些信息已過時
header('Content-Type: text/html; charset=utf-8');
mb_internal_encoding('UTF-8');
mb_http_output('UTF-8');
//僅適用於舊版MySQL_query
mysql_set_charset('utf8',$con);
//僅適用於MySQLi
$mysqli->set_charset("utf8")
還要簽出: http : //tympanus.net/codrops/2009/08/31/solving-php-mysql-utf-8-issues/
PHP過去並不是本地UTF-8友好的,您必須依靠下面的輔助功能。 我敢肯定,左側的所有功能已經成為UTF-8友好型產品已有幾年了。
mail() -> mb_send_mail()
strlen() -> mb_strlen()
strpos() -> mb_strpos()
strrpos() -> mb_strrpos()
substr() -> mb_substr()
strtolower() -> mb_strtolower()
strtoupper() -> mb_strtoupper()
substr_count() -> mb_substr_count()
htmlentities($var) -> htmlentities($var, ENT_QUOTES, 'UTF-8')
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.