Thank you but using mb_convert would probably screw me up more than just finding out what part of the above code to change. Even though it's Japanese the encode is still UTF-8. Since Japanese won't type in a Latin comma, I'm just trying to take the latin comma out of the above code & put the Japanese comma in the actual code. This would be the delimeter. Instead of thinking of it as a foreign language let's say I was trying to change the delimeter in the code from " ," to " 45" [code]$words = preg_split('[b]/[,;]+[/b]/', $string); if ($words) {[/code] So I know somewhere in the code it goes from the above to [code]$words = preg_split('/[b][45;][/b]+/', $string); if ($words) {[/code] But I'm just not sure in the whole code what to change so that if a user types in Cars 45 Trucks (from Cars, Trucks) It makes sure it seperates the two terms Cars & Trucks. [code]function tags_normalize_string($string) { return preg_replace('/[;,]\s+$/', ",",$string); } function tags_insert_string($link, $lang, $string, $date = 0) { global $db; $string = tags_normalize_string($string); if ($date == 0) $date=time(); $words = preg_split('/[,;]+/', $string); if ($words) { $db->query("delete from tags where tag_link_id = $link"); foreach ($words as $word) { $word=trim($word); if (!$inserted[$word] && !empty($word)) { $db->query("insert into tags (tag_link_id, tag_lang, tag_words, tag_date) values ($link, '$lang', '$word', from_unixtime($date))"); $inserted[$word] = true; } } return true; } return false; } function tags_get_string($link, $lang) { global $db; $counter = 0; $res = $db->get_col("select tag_words from tags where tag_link_id=$link and tag_lang='$lang'"); if (!$res) return false; foreach ($db->get_col("select tag_words from tags where tag_link_id=$link and tag_lang='$lang'") as $word) { if($counter>0) $string .= ', '; $string .= $word; $counter++; } return $string; }[/code]