MySQLテーブルにUnicodeデータを入力するPHPスクリプトを作成しました。しかし、私はいくつかの小さな問題に遭遇しました。たとえば、次のコマンドを個別に実行した場合でも、スペースcharacter
文字(id = 32)の列は空です。
UPDATE unicode SET `character` = ' ' WHERE id = 32;
何か案は?テーブルにデータを入力するために使用しているスクリプトは次のとおりです(含まれているスクリプトは、PDOオブジェクトである関数をcommon.php
定義します)。database
<?php
include_once('common.php');
// Fetch data from Unicode website
$file = fopen('http://www.unicode.org/Public/UNIDATA/UnicodeData.txt', 'r');
// Iterate through each line of the file
while($row = fgets($file)) {
// Gather data
$column = explode(';', $row);
$id = hexdec($column[0]);
$name = $column[1];
$general_category = $column[2];
$uppercase_mapping = hexdec($column[12]);
$lowercase_mapping = hexdec($column[13]);
$titlecase_mapping = hexdec($column[14]);
// Build the database query
$query = sprintf("INSERT IGNORE INTO unicode VALUES (%d, CHAR(%d USING UTF8), '%s', '%s', %d, %d, %d)",
$id,
$id,
$name,
$general_category,
$uppercase_mapping,
$lowercase_mapping,
$titlecase_mapping);
database()->query($query);
echo $id.' ';
}
?>