Imr*_*ado 6 php mysql collation
我正在尝试将希伯来语值插入到我的mysql数据库中,而不是希伯来语中的值看起来像那样.
ש×"×'ש×"×>עש×"
该表的排序规则是latin1_swedish_ci默认情况下,我也尝试更改为utf-8_general_ci,hebrew_bin,hebrew_general_ci,但结果仍然相同.
在我的代码中,我当然使用元标记来配置字符集:
<meta charset="UTF-8">
Run Code Online (Sandbox Code Playgroud)
在我的php查询之前,我添加了这一行:
mysql_query("SET NAMES utf8");
Run Code Online (Sandbox Code Playgroud)
我在phpmyadmin中查看结果.
小智 16
我已经解决了希伯来语的问题.这是一个数据库和表行/字段编码问题.这是我使用的解决方案.我从另一个答案中获得了帮助,下面给出了链接,以防有人需要.
utf8_general_ci.utf8_general_ci.在PHP连接脚本中
header('Content-Type: text/html; charset=utf-8');
Run Code Online (Sandbox Code Playgroud)在xhtml头标签中
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
Run Code Online (Sandbox Code Playgroud)如果您使用MySQLi,请在选择数据库后将此代码放入连接脚本中:
mysql_query("SET NAMES 'utf8'");
Run Code Online (Sandbox Code Playgroud)
如果您正在使用PDO,请将其放入
$conn->query("SET NAMES 'utf8'");
Run Code Online (Sandbox Code Playgroud)设置charset以实现解决方案
在创建数据库时
CREATE DATABASE db_name
CHARACTER SET utf8
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci
DEFAULT COLLATE utf8_general_ci
;
Run Code Online (Sandbox Code Playgroud)
或者,如果已创建数据库
CREATE TABLE table_name(
...
)
DEFAULT CHARACTER SET utf8
COLLATE utf8_general_ci;
Run Code Online (Sandbox Code Playgroud)
或者在编写查询时
mysql_query("SET character_set_results = 'utf8', character_set_client = 'utf8', character_set_connection = 'utf8', character_set_database = 'utf8', character_set_server = 'utf8'", $conn);
$re = mysql_query('SHOW VARIABLES LIKE "%character_set%";')or die(mysql_error());
while ($r = mysql_fetch_assoc($re)) {var_dump ($r); echo "<br />";}
Run Code Online (Sandbox Code Playgroud)
检查 collation_connection:
show variables like '%collation%'
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10957 次 |
| 最近记录: |