日本語化について

必要なものとか

データベースファイルの文字コードを書き換えるくらいだった気がする。


mysqlの設定
cp /opt/mysql/mysql/support-files/my-small.cnf /etc/my.cnf

# 14.my.cnf編集(vi分かりにくかったらWinSCPから開くと楽)
vi /etc/my.cnf
# [client]セクションに以下を追加
default-character-set=sjis

# [mysqld]フィールドの最後に以下を追加
default-character-set = sjis

utf8でもできるとおもうけど。


DB内容の設定

この辺を参考に


鯖の建て方(初心者向け)の テーブルのキャラクタセットをUTF-8に変更と一緒

※今検証してたらalter tableだけでは治らないので
show create tableで文字コードだけ変えて作り直す必要があるっぽい


use jtales12_account

DROP TABLE account;
DROP TABLE delete_character_list;


CREATE TABLE `account` (
`tid` int(10) unsigned NOT NULL,
 `tusername` varchar(30) NOT NULL,
 `tpassword` varchar(30) NOT NULL,
 `temail` varchar(50) NOT NULL,
 `tregtime` datetime default NULL,
 `tregip` varchar(45) NOT NULL,
 `id` int(10) unsigned NOT NULL auto_increment,
 `username` varchar(30) NOT NULL,
 `password` varchar(30) NOT NULL,
 `email` varchar(50) NOT NULL,
 `regtime` datetime default NULL,
 `regip` varchar(45) NOT NULL,
 `passwd` varchar(30) NOT NULL,
 PRIMARY KEY  USING BTREE (`id`),
 UNIQUE KEY `UNIQUE` USING BTREE (`tusername`)
) ENGINE=InnoDB DEFAULT CHARSET=sjis ROW_FORMAT=DYNAMIC;


CREATE TABLE `delete_character_list` (
`requestdate` datetime NOT NULL,
 PRIMARY KEY  USING BTREE (`requestdate`)
) ENGINE=InnoDB DEFAULT CHARSET=sjis;


use jtales12_castle


DROP TABLE castle;
DROP TABLE castle_entrusted;
DROP TABLE guardian;


CREATE TABLE `castle` (
`castleNum` int(11) NOT NULL default '0',
 `castleName` varchar(50) default NULL,
 `king` varchar(20) default NULL,
 `guild` varchar(20) default NULL,
 `loser` varchar(20) default NULL,
 `state` int(11) NOT NULL default '0',
 `fortitude` int(11) NOT NULL default '0',
 `remainTime` int(11) NOT NULL default '0',
 `victories` int(11) NOT NULL default '0',
 `challengerGuild` varchar(20) default NULL,
 `victoryTick` int(11) NOT NULL default '0',
 `readyGuild` varchar(20) default NULL,
 UNIQUE KEY `castleNum` (`castleNum`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;


CREATE TABLE `castle_entrusted` (
 `castleNum` int(11) NOT NULL default '0',
 `image` blob
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `guardian` (
 `guardianNumber` int(11) NOT NULL default '0',
 `ownerGuildName` varchar(20) NOT NULL default 'NO_NAME',
 `catchedTick` int(10) unsigned NOT NULL default '0',
 UNIQUE KEY `guardianNumber` (`guardianNumber`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;


use jtales12_episode

DROP TABLE goodwill_data;
DROP TABLE switch_data;
DROP TABLE switch_log;


CREATE TABLE `goodwill_data` (
`characterid` varchar(32) NOT NULL default '',
 `goodwill` blob NOT NULL,
 PRIMARY KEY  (`characterid`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;


CREATE TABLE `switch_data` (
`characterid` varchar(32) NOT NULL default '',
 `episode` smallint(5) unsigned NOT NULL default '0',
 `switch` blob NOT NULL,
 UNIQUE KEY `characterId` (`characterid`,`episode`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `switch_log` (
`name` varchar(50) NOT NULL default '',
 `episode` int(11) NOT NULL default '0',
 `tick` int(10) unsigned NOT NULL default '0',
 `log` varchar(250) NOT NULL default '',
 UNIQUE KEY `switchLogUniqueIndex` (`name`,`episode`,`tick`,`log`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

use jtales12_friendList 

DROP TABLE FLfriend;
DROP TABLE FLgroup;

CREATE TABLE `FLfriend` (
`myName` varchar(50) NOT NULL default '',
 `friendName` varchar(50) NOT NULL default '',
 `groupId` int(11) default '0',
 UNIQUE KEY `uIndex` (`myName`,`friendName`),
 KEY `myList` (`myName`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `FLgroup` (
`id` int(11) NOT NULL default '0',
 `name` varchar(50) NOT NULL default '',
 `ownerName` varchar(50) NOT NULL default '',
 UNIQUE KEY `idIndex` (`id`,`ownerName`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;



use jtales12_gamestat
DROP TABLE GSMonster;
DROP TABLE GSSoldItem;
DROP TABLE GSWorld;


CREATE TABLE `GSMonster` (
`monName` varchar(50) NOT NULL default '',
 `level` int(11) default '0',
 `killed` int(11) default '0',
 `updatetime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `GSSoldItem` (
`itemName` varchar(50) NOT NULL default '',
 `sold` int(11) default '0',
 `updatetime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `GSWorld` (
 `worldName` varchar(50) NOT NULL default '',
 `level` int(11) NOT NULL default '0',
 `inCount` int(11) default '0',
 `stayTime` int(11) default '0',
 `updatetime` timestamp NOT NULL default CURRENT_TIMESTAMP on update CURRENT_TIMESTAMP
) ENGINE=MyISAM DEFAULT CHARSET=sjis;



use jtales12_group
DROP TABLE member;

CREATE TABLE `member` (
`name` varchar(50) NOT NULL default '',
 `team` varchar(50) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `db` int(11) NOT NULL default '0',
 `pk` int(11) NOT NULL default '0',
 `tick` int(11) NOT NULL default '0',
 `level` int(11) NOT NULL default '0',
 `state` bigint(20) unsigned NOT NULL default '0',
 UNIQUE KEY `nameindex` (`name`),
 KEY `teamindex` (`team`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis PACK_KEYS=1;


use jtales12_guild
DROP TABLE guild;
DROP TABLE guildAnnounce;
DROP TABLE guildBank;
DROP TABLE guildBankLog;
DROP TABLE guildLog;
DROP TABLE guildMember;


CREATE TABLE `guild` (
`name` varchar(50) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `subType` int(11) NOT NULL default '0',
 `birthTick` int(10) unsigned NOT NULL default '0',
 `markType` int(11) NOT NULL default '0',
 `markResourceId` int(10) unsigned NOT NULL default '0',
 `level` int(11) NOT NULL default '0',
 `acceptMinLevel` int(11) NOT NULL default '0',
 `acceptMaxLevel` int(11) NOT NULL default '0',
 `hpUrl` varchar(80) NOT NULL default '',
 `intro` varchar(250) NOT NULL default '',
 `exp` int(10) unsigned NOT NULL default '0',
 `goodwill` int(10) unsigned NOT NULL default '0',
 `voteTick` int(10) unsigned NOT NULL default '0',
 `taxLevied` int(11) NOT NULL default '0',
 `currentTax` int(11) NOT NULL default '0',
 `taxDelayed` int(11) NOT NULL default '0',
 `collectingTaxTick` int(10) unsigned NOT NULL default '0',
 `taxDelayMonth` int(11) NOT NULL default '0',
 `state` int(10) unsigned NOT NULL default '0',
 UNIQUE KEY `guildNameIndex` (`name`,`type`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `guildAnnounce` (
`name` varchar(50) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `tick` int(10) unsigned NOT NULL default '0',
 `announce` varchar(250) NOT NULL default '',
 UNIQUE KEY `guildAnnounceUniqueIndex` (`name`,`type`,`tick`,`announce`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `guildBank` (
`guildName` varchar(50) NOT NULL default '',
 `guildType` int(11) NOT NULL default '0',
 `attribute` blob NOT NULL,
 UNIQUE KEY `guildBankIndex` (`guildName`,`guildType`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `guildBankLog` (
`name` varchar(50) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `tick` int(10) unsigned NOT NULL default '0',
 `log` varchar(250) NOT NULL default '',
 UNIQUE KEY `guildBankLogUniqueIndex` (`name`,`type`,`tick`,`log`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `guildLog` (
`name` varchar(50) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `tick` int(10) unsigned NOT NULL default '0',
 `log` varchar(250) NOT NULL default '',
 UNIQUE KEY `guildLogUniqueIndex` (`name`,`type`,`tick`,`log`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

CREATE TABLE `guildMember` (
`name` varchar(50) NOT NULL default '',
 `type` int(11) NOT NULL default '0',
 `guildName` varchar(50) NOT NULL default '',
 `guildType` int(11) NOT NULL default '0',
 `title` varchar(50) NOT NULL default '',
 `DBID` int(11) NOT NULL default '0',
 `level` int(11) NOT NULL default '0',
 `joinTick` int(10) unsigned NOT NULL default '0',
 `resignTick` int(10) unsigned NOT NULL default '0',
 `rank` int(11) NOT NULL default '0',
 `vote` int(11) NOT NULL default '0',
 `logoutTick` int(10) unsigned NOT NULL default '0',
 `exp` int(10) unsigned NOT NULL default '0',
 `state` int(10) unsigned NOT NULL default '0',
 UNIQUE KEY `guildMemberNameIndex` (`guildName`,`guildType`,`name`),
 KEY `guildMemberIndex` (`name`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

use jtales12_pet
DROP TABLE pet;


CREATE TABLE `pet` (
 `owner` varchar(16) NOT NULL default '',
 `type` int(11) NOT NULL default '-1',
 `nutrition` int(11) NOT NULL default '0',
 `nutritionTick` int(11) NOT NULL default '0',
 `sanitation` int(11) NOT NULL default '0',
 `sanitationTick` int(11) NOT NULL default '0',
 `remainTime` int(11) NOT NULL default '0',
 `eggid` varchar(8) NOT NULL default 'NO_NAME',
 `dbid` varchar(8) NOT NULL default 'NO_NAME',
 `color` int(11) NOT NULL default '0',
 `name` varchar(32) NOT NULL default 'Pet',
 `level` int(11) NOT NULL default '0',
 `vital` int(11) NOT NULL default '0',
 `exp` int(11) NOT NULL default '0',
 `birthTime` int(11) NOT NULL default '0',
 `bHibernated` int(11) NOT NULL default '0',
 `partnerOwner` varchar(16) NOT NULL default 'NO_NAME',
 `partner` int(11) NOT NULL default '0',
 `cleanItem` blob NOT NULL,
 `nutritionItem` blob NOT NULL,
 `foodItem` blob NOT NULL,
 `skills` blob,
 UNIQUE KEY `owner` (`owner`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;


use jtales12_refuse

DROP TABLE refuse;

CREATE TABLE `refuse` (
 `ownerName` varchar(50) NOT NULL default '',
 `otherName` varchar(50) NOT NULL default '',
 UNIQUE KEY `uIndex` (`ownerName`,`otherName`),
 KEY `myList` (`ownerName`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;

use jtales12_share
DROP TABLE share;


CREATE TABLE `share` (
 `idx` int(11) NOT NULL auto_increment,
 `receiver` varchar(16) NOT NULL default '',
 `sender` varchar(16) NOT NULL default '',
 `time` int(11) NOT NULL default '0',
 `image` blob,
 `seed` int(11) NOT NULL default '0',
 UNIQUE KEY `shareItemIndex` (`idx`,`receiver`,`sender`)
) ENGINE=MyISAM DEFAULT CHARSET=sjis;



日本語化の検証
フレンドリストのグループ名を日本語でつくって変化がないか確認
ギルド作ってみる
新規キャラクターを日本語でつくってみる goodwill_dataにレコードができるのでそれを確認




問題点
記述者の問題点としてはdb/character/xx/xx/のあとのキャラクター名が
sjisのキャラクタ小文字変換によって文字化けしてしまう
何故かプレイはできるしキャラクタデータもちゃんと保存されるのでプレイには支障はない



  • 最終更新:2016-10-25 07:59:13

このWIKIを編集するにはパスワード入力が必要です

認証パスワード