working with foreign characters in a database and application

I'm trying to build a database that will contain both foreign language and english language strings, probably in mysql since that's what I'm familiar with. I need to get these inputs from users in some kind of web browser-based interface, then run some functions on those strings before they're passed into the database along with some other values  that the program adds. I also need this program to conveniently handle audio files, including editing them together in different combination depending on the user.

Can I get this accomplished with Java? I need to figure out what language(s) I have to learn to get the important functions working.

Please help.
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Yes you can, Java by default supports unicode so you do not need to do anything extra in order to handle different characters, as long as you send them in unicode encoding.

Databases also support unicode so you shouldn't have any problem there as well, although you might need to tell your db server to support unicode when you create your schema (some db servers define the default character set when you create schemas).
Java won't be a problem since it's Unicode by default, but getting MySQL working completely correctly with Unicode can be a challenge.  You may already be familiar with MySQL enough to know this, but you can (rather unfortunately) if memory serves, set

the client,
the engine,
the server and
the table

to each potentially use a different character encoding.  So you'll need to make sure they are all set to UTF-8 to get the right result.  If you miss one you can get scrambled values when you read/write to the database as MySQL tries to helpfully convert to/from UTF-8 and another encoding.

It's not that hard to set them - just make sure to be thorough.

Julian HansenCommented:
You can accomplish this with any of the major scripting / web dev languages. Which one to use is dependent more on

* Your personal skill / experience level with web development
* Any experience you have with a particular language / framework

If you are going to be starting from scratch Java might be a bit of big bite to chew off at once. But then this project sounds like it requires a bit of experience to get off the ground so I am assuming you have some background in webdev.

I also need this program to conveniently handle audio files, including editing them together in different combination depending on the user.

What sort of editing are you needing to do - stitching them or more complex operations (converting them).

You might need to consider a separate tool that specializes in doing this - which you then invoke through the development language of your choice. While there are many libraries out there to handle tasks such as these - does not mean that using them is the right choice.

For instance server side operations (such as media file conversion) can take some time. Web architecture is primarily based on request / response and was not really geared up to long response times waiting for server side tasks to finish. This ties up your web server unnecessarily. Best practice is to create jobs that are handled by other processes that are more optimal for the task at hand and run in the background - not affecting script response times and webserver performance.

Bottom line - for the interface java will do it - so will PHP, C#.Net, VB.Net. For the supplementary processing - if needed - there are other specialised tools that can be used.

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
10 Tips to Protect Your Business from Ransomware

Did you know that ransomware is the most widespread, destructive malware in the world today? It accounts for 39% of all security breaches, with ransomware gangsters projected to make $11.5B in profits from online extortion by 2019.

Ray PaseurCommented:
Related more to PHP than to Java, nevertheless, this article shows some of the pitfalls and solutions to multilingual web sites and data bases.  The reference materials may be helpful.
wizardintrainingAuthor Commented:
* Your personal skill / experience level with web development
Next to nothing, I'm probably going to have someone else build a pretty interface I think. I just need to get the background stuff up first. But I'm not sure if that's what you meant by web development

* Any experience you have with a particular language / framework
I've used python and java casually, java most recently, and used MySQL to make a database before. From what I can tell python would be more intuitive me to use when analyzing the string. I'm learning Java mostly because the lessons I have on Java go further than the ones I have on Python.

So encoding is one issue but I'm also at a loss on how to get use these characters directly in the code. if I'm writing a Python script to search through a Chinese string for a certain character, for example, then I can enter that chinese character into IDLE somehow in quotations? I don't see how I can do that. Like if a user inputs a paragraph of chinese text, and I want to count the number of times a character is in that paragraph, what text editors can I use to write something like that?
wizardintrainingAuthor Commented:
As for the audio part, I need to stitch them together,
Julian HansenCommented:
what text editors can I use to write something like that?
Not sure where the text editor comes in - unless you are referring to editing the actual text with foreign char's in it? If you are referring to scripting then any editor will do - unless I am missing the requirement.

Can you give an example of what you mean?
wizardintrainingAuthor Commented:
No I think I just didn't realize that I would have to change my keyboard rather than change my font within IDLE, Eclipse, or whatever I might use to write this thing.

I think that answers most of my questions. Thanks guys
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
MySQL Server

From novice to tech pro — start learning today.